Jadual Kandungan
What is Apache Spark?
Apache Spark at eBay
The Future of Spark at eBay
Rumah pangkalan data tutorial mysql Using Spark to Ignite Data Analytics

Using Spark to Ignite Data Analytics

Jun 07, 2016 pm 04:34 PM
data ignite spark using

At eBay we want our customers to have the best experience possible. We use data analytics to improve user experiences, provide relevant offers, optimize performance, and create many, many other kinds of value. One way eBay supports this va

At eBay we want our customers to have the best experience possible. We use data analytics to improve user experiences, provide relevant offers, optimize performance, and create many, many other kinds of value. One way eBay supports this value creation is by utilizing data processing frameworks that enable, accelerate, or simplify data analytics. One such framework is Apache Spark. This post describes how Apache Spark fits into eBay’s Analytic Data Infrastructure.

spark_logo

What is Apache Spark?

The Apache Spark web site?describes Spark as “a fast and general engine for large-scale data processing.” Spark is a framework that enables parallel, distributed data processing. It offers a simple programming abstraction that provides powerful cache and persistence capabilities. The Spark framework can be deployed through Apache Mesos, Apache Hadoop via Yarn, or Spark’s own cluster manager. Developers can use the Spark framework via several programming languages including Java, Scala, and Python. Spark also serves as a foundation for additional data processing frameworks such as Shark, which provides SQL functionality for Hadoop.

Spark is an excellent tool for iterative processing of large datasets. One way Spark is suited for this type of processing is through its Resilient Distributed Dataset (RDD). In the paper titled Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing, RDDs are described as “…fault-tolerant, parallel data structures that let users explicitly persist intermediate results in memory, control their partitioning to optimize data placement, and manipulate them using a rich set of operators.” By using RDDs, ?programmers can pin their large data sets to memory, thereby supporting high-performance, iterative processing. Compared to reading a large data set from disk for every processing iteration, the in-memory solution is obviously much faster.

The diagram below shows a simple example of using Spark to read input data from HDFS, perform a series of iterative operations against that data using RDDs, and write the subsequent output back to HDFS.

spark_example_diagram

In the case of the first map operation into RDD(1), not all of the data could fit within the memory space allowed for RDDs. In such a case, the programmer is able to specify what should happen to the data that doesn’t fit. The options include spilling the computed data to disk and recreating it upon read. We can see in this example how each processing iteration is able to leverage memory for the reading and writing of its data. This method of leveraging memory is likely to be 100X faster than other methods that rely purely on disk storage for intermittent results.

Apache Spark at eBay

Today Spark is most commonly leveraged at eBay through Hadoop via Yarn. Yarn manages the Hadoop cluster’s resources and allows Hadoop to extend beyond traditional map and reduce jobs by employing Yarn containers to run generic tasks. Through the Hadoop Yarn framework, eBay’s Spark users are able to leverage clusters approaching the range of 2000 nodes, 100TB of RAM, and 20,000 cores.

The following example illustrates Spark on Hadoop via Yarn.

spark_hadoop_diagram

The user submits the Spark job to Hadoop. The Spark application master starts within a single Yarn container, then begins working with the Yarn resource manager to spawn Spark executors – as many as the user requested. These Spark executors will run the Spark application using the specified amount of memory and number of CPU cores. In this case, the Spark application is able to read and write to the cluster’s data residing in HDFS. This model of running Spark on Hadoop illustrates Hadoop’s growing ability to provide a singular, foundational platform for data processing over shared data.

The eBay analyst community includes a strong contingent of Scala users. Accordingly, many of eBay’s Spark users are writing their jobs in Scala. These jobs are supporting discovery through interrogation of complex data, data modelling, and data scoring, among other use cases. Below is a code snippet from a Spark Scala application. This application uses Spark’s machine learning library, MLlib, to cluster eBay’s sellers via KMeans. The seller attribute data is stored in HDFS.

/**
 * read input files and turn into usable records
 */
 var table = new SellerMetric()
 val model_data = sc.sequenceFile[Text,Text](
   input_path
  ,classOf[Text]
  ,classOf[Text]
  ,num_tasks.toInt
 ).map(
   v => parseRecord(v._2,table)
 ).filter(
   v => v != null
 ).cache
....
/**
 * build training data set from sample and summary data
 */
 val train_data = sample_data.map( v =>
   Array.tabulate[Double](field_cnt)(
     i => zscore(v._2(i),sample_mean(i),sample_stddev(i))
   )
 ).cache
/**
 * train the model
 */ 
 val model = KMeans.train(train_data,CLUSTERS,ITERATIONS)
/**
 * score the data
 */
 val results = grouped_model_data.map( 
   v => (
     v._1
    ,model.predict(
       Array.tabulate[Double](field_cnt)(
         i => zscore(v._2(i),sample_mean(i),sample_stddev(i))
       )
     )
   )
 ) 
 results.saveAsTextFile(output_path)
Salin selepas log masuk

In addition to ?Spark Scala users, several folks at eBay have begun using Spark with Shark to accelerate their Hadoop SQL performance. Many of these Shark queries are easily running 5X faster than their Hive counterparts. While Spark at eBay is still in its early stages, usage is in the midst of expanding from experimental to everyday as the number of Spark users at eBay continues to accelerate.

The Future of Spark at eBay

Spark is helping eBay create value from its data, and so the future is bright for Spark at eBay. Our Hadoop platform team has started gearing up to formally support Spark on Hadoop. Additionally, we’re keeping our eyes on how Hadoop continues to evolve in its support for frameworks like Spark, how the community is able to use Spark to create value from data, and how companies like Hortonworks and Cloudera are incorporating Spark into their portfolios. Some groups within eBay are looking at spinning up their own Spark clusters outside of Hadoop. These clusters would either leverage more specialized hardware or be application-specific. Other folks are working on incorporating eBay’s already strong data platform language extensions into the Spark model to make it even easier to leverage eBay’s data within Spark. In the meantime, we will continue to see adoption of Spark increase at eBay. This adoption will be driven by chats in the hall, newsletter blurbs, product announcements, industry chatter, and Spark’s own strengths and capabilities.

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Sepuluh perpustakaan yang biasa digunakan untuk algoritma AI versi Java Sepuluh perpustakaan yang biasa digunakan untuk algoritma AI versi Java Jun 13, 2023 pm 04:33 PM

ChatGPT telah popular selama lebih daripada setengah tahun tahun ini, dan popularitinya tidak jatuh sama sekali. Pembelajaran mendalam dan NLP juga telah kembali kepada perhatian semua orang. Beberapa rakan dalam syarikat bertanya kepada saya, sebagai pembangun Java, bagaimana untuk bermula dengan kecerdasan buatan Sudah tiba masanya untuk mengeluarkan perpustakaan Java tersembunyi untuk mempelajari AI dan memperkenalkannya kepada semua orang. Pustaka dan rangka kerja ini menyediakan pelbagai alat dan algoritma untuk pembelajaran mesin, pembelajaran mendalam, pemprosesan bahasa semula jadi dan banyak lagi. Bergantung pada keperluan khusus projek AI anda, anda boleh memilih perpustakaan atau rangka kerja yang paling sesuai dan mula bereksperimen dengan algoritma yang berbeza untuk membina penyelesaian AI anda. 1.Deeplearning4j Ia adalah perpustakaan pembelajaran mendalam teragih sumber terbuka untuk Java dan Scala. Pembelajaran mendalam

Gunakan bahasa Spark in Go untuk mencapai pemprosesan data yang cekap Gunakan bahasa Spark in Go untuk mencapai pemprosesan data yang cekap Jun 16, 2023 am 08:30 AM

Dengan kemunculan era data besar, pemprosesan data menjadi semakin penting. Untuk pelbagai tugas pemprosesan data, teknologi yang berbeza telah muncul. Antaranya, Spark, sebagai teknologi yang sesuai untuk pemprosesan data berskala besar, telah digunakan secara meluas dalam pelbagai bidang. Di samping itu, bahasa Go, sebagai bahasa pengaturcaraan yang cekap, juga telah mendapat lebih banyak perhatian dalam beberapa tahun kebelakangan ini. Dalam artikel ini, kami akan meneroka cara menggunakan bahasa Spark dalam Go untuk mencapai pemprosesan data yang cekap. Mula-mula kami akan memperkenalkan beberapa konsep dan prinsip asas Spark

Terokai aplikasi Java dalam bidang data besar: pemahaman tentang Hadoop, Spark, Kafka dan tindanan teknologi lain Terokai aplikasi Java dalam bidang data besar: pemahaman tentang Hadoop, Spark, Kafka dan tindanan teknologi lain Dec 26, 2023 pm 02:57 PM

Timbunan teknologi data besar Java: Fahami aplikasi Java dalam bidang data besar, seperti Hadoop, Spark, Kafka, dll. Apabila jumlah data terus meningkat, teknologi data besar telah menjadi topik hangat dalam era Internet hari ini. Dalam bidang data besar, kita sering mendengar nama Hadoop, Spark, Kafka dan teknologi lain. Teknologi ini memainkan peranan penting, dan Java, sebagai bahasa pengaturcaraan yang digunakan secara meluas, juga memainkan peranan yang besar dalam bidang data besar. Artikel ini akan memberi tumpuan kepada aplikasi Java secara besar-besaran

Bermula dengan PHP: PHP dan Spark Bermula dengan PHP: PHP dan Spark May 20, 2023 am 08:41 AM

PHP ialah bahasa pengaturcaraan sebelah pelayan yang sangat popular kerana ia mudah dipelajari, sumber terbuka dan merentas platform. Pada masa ini, banyak syarikat besar menggunakan bahasa PHP untuk membina aplikasi, seperti Facebook dan WordPress. Spark ialah rangka kerja pembangunan yang pantas dan ringan untuk membina aplikasi web. Ia berdasarkan Java Virtual Machine (JVM) dan berfungsi dengan PHP. Artikel ini akan memperkenalkan cara membina aplikasi web menggunakan PHP dan Spark. Apakah PHP? PH

Apakah data yang terdapat dalam folder data? Apakah data yang terdapat dalam folder data? May 05, 2023 pm 04:30 PM

Folder data mengandungi data sistem dan program, seperti tetapan perisian dan pakej pemasangan Setiap folder dalam folder Data mewakili jenis folder storan data yang berbeza, tidak kira sama ada fail Data merujuk kepada nama fail Data atau sambungan data , semuanya adalah fail data yang disesuaikan oleh sistem atau program Data ialah fail sandaran untuk penyimpanan data Secara umumnya, ia boleh dibuka dengan meidaplayer, notepad atau word.

Gunakan PHP untuk mencapai pemprosesan data berskala besar: Hadoop, Spark, Flink, dsb. Gunakan PHP untuk mencapai pemprosesan data berskala besar: Hadoop, Spark, Flink, dsb. May 11, 2023 pm 04:13 PM

Memandangkan jumlah data terus meningkat, pemprosesan data berskala besar telah menjadi masalah yang mesti dihadapi dan diselesaikan oleh perusahaan. Pangkalan data perhubungan tradisional tidak lagi dapat memenuhi permintaan ini Untuk penyimpanan dan analisis data berskala besar, platform pengkomputeran teragih seperti Hadoop, Spark, dan Flink telah menjadi pilihan terbaik. Dalam proses pemilihan alat pemprosesan data, PHP menjadi semakin popular di kalangan pembangun sebagai bahasa yang mudah dibangunkan dan diselenggara. Dalam artikel ini, kami akan meneroka cara memanfaatkan PHP untuk pemprosesan data berskala besar dan bagaimana

Apa yang perlu dilakukan jika data beban mysql bercelaru? Apa yang perlu dilakukan jika data beban mysql bercelaru? Feb 16, 2023 am 10:37 AM

Penyelesaian kepada data beban mysql yang bercelaru: 1. Cari pernyataan SQL dengan aksara yang bercelaru;

Enjin pemprosesan data dalam PHP (Spark, Hadoop, dll.) Enjin pemprosesan data dalam PHP (Spark, Hadoop, dll.) Jun 23, 2023 am 09:43 AM

Dalam era Internet sekarang, pemprosesan data secara besar-besaran merupakan masalah yang perlu dihadapi oleh setiap perusahaan dan institusi. Sebagai bahasa pengaturcaraan yang digunakan secara meluas, PHP juga perlu mengikuti perkembangan masa dalam pemprosesan data. Untuk memproses data besar-besaran dengan lebih cekap, pembangunan PHP telah memperkenalkan beberapa alat pemprosesan data besar, seperti Spark dan Hadoop. Spark ialah enjin pemprosesan data sumber terbuka yang boleh digunakan untuk pemprosesan teragih set data yang besar. Ciri terbesar Spark ialah kelajuan pemprosesan data yang pantas dan penyimpanan data yang cekap.

See all articles