:::: MENU ::::

Posts Categorized / Spark

  • Aug 18 / 2016
  • Comments Off on Spark 2.0.0 – Kecepatan dan Kemudahan dalam Kemasan Simple
Apache, Hadoop, Komunitas, Spark

Spark 2.0.0 – Kecepatan dan Kemudahan dalam Kemasan Simple

Databrick akhirnya mengumumkan release Spark 2.0.0 pada 26 Juli 2016. Dua bulan sebelumnya mereka melansir preview-release untuk memberikan kesempatan para penggunanya bereksperimen dan memberikan feedback mengenai fitur-fitur baru Spark.

Release Spark versi 2.0.0 merupakan momen yang ditunggu-tunggu karena menjanjikan banyak kemajuan di sisi fitur dan performance, dan juga mencakup 2500 patches dari 300 lebih kontributor.

Beberapa hal yang dijanjikan oleh Spark 2.0.0 adalah :

Lebih mudah : Support ANSI SQL dan API yang disederhanakan. Spark berfokus pada dua hal : a) dukungan ANSI SQL dan b) penyederhanaan API. Beberapa hal yang dilakukan pada sisi programming API adalah: menggabungkan API developer dalam library Spark, seperti misalnya antara DataFrames dan Datasets, serta SQLContext dan HiveContext. API berbasis dataFrame dengan “pipeline” API-nya akan menjadi package utama dari API machine learning. Meskipun library yang lama tetap dipertahankan untuk backward compatibility, fokus di masa depan akan lebih pada pengembangan API berbasis DataFrame. User dapat menyimpan dan me-load pipeline dan model machine learning dalam berbagai bahasa pemrograman yang disupport oleh Spark. Support tambahan untuk R, yaitu : Algoritma terdistribusi untuk Generalized Linear Models (GLM), Naive Bayes, Survival Regression, and K-Means Mendukung UDF (user defined function) untuk dapat dijalankan di level partisi (dapply & gapply) serta tuning hyper-parameter (lapply)

Lebih cepat : peningkatan kecepatan 5 sampai 10 kali daripada Spark 1.6 untuk beberapa operator, sebagai hasil dari project Tungsten Fase 2 yang mencakup whole stage code generation dan optimisasi code Catalyst.

Lebih cerdas : Streaming terstruktur, yaitu menggabungkan berbagai macam komponen komputasi Spark yang mendukung komputasi streaming untuk menghasilkan aplikasi yang berkesinambungan. Selama ini pemrosesan streaming sering dinilai sebagai titik lemah dari Spark, dan Spark 2.0.0 bertujuan untuk mengatasi hal ini. Ada beberapa perbaikan yang dilakukan dalam Spark 2.0, di antaranya:
  • Intergrasi streaming API dengan batch job
  • Interaksi transaksional dengan storage system
  • Integrasi dengan komponen komputasi lain melalui Spark SQL, penggabungan dengan data statis, dan library yang sudah menggunakan DataFrame. Target selanjutnya adalah integrasi dengan MLlib dan library-library lain.

Contributor :


M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng. Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun. Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.

  • Jan 25 / 2016
  • Comments Off on Instalasi Spark 1.4.1 Cluster di Ubuntu 14.04 VMWare
Forum Info, Hadoop, Implementation, Spark, Uncategorized

Instalasi Spark 1.4.1 Cluster di Ubuntu 14.04 VMWare

Tutorial ini adalah kelanjutan dari Instalasi Hadoop Cluster di Ubuntu 14.04 VMWare. Diasumsikan bahwa Hadoop Cluster sudah disetting dan berjalan dengan baik seperti dalam tutorial tersebut.

Untuk dapat berjalan di atas cluster, Spark dapat dijalankan dengan menggunakan beberapa jenis cluster manager, yaitu Hadoop Yarn, Apache Mesos, ataupun cluster manager yang dimiliki Spark sendiri atau Spark stand alone cluster. Cluster manager ini yang akan mengalokasikan resource dalam cluster di mana Spark dijalankan. Untuk penjelasan lebih lanjut mengenai masing-masing arsitektur, dapat dibaca di sini

Untuk menjalankan spark dengan Spark cluster, berikut ini cara settingnya:

Versi software yang digunakan adalah :

  • Spark versi 1.4.1
  • Scala 2.10.4
  • Hadoop 2.6.0

Berikut ini konfigurasi cluster-nya:

IP Type Node Hostname
192.168.4.148 Hadoop Name node / Spark Master ubuntu1
192.168.4.149 Hadoop Data node 1 / Spark Worker ubuntu2
192.168.4.155 Hadoop Data node 2 / Spark Worker ubuntu3
  1. Download Apache Spark binary distribution dari siteApache Spark. Pilih spark distribution 1.4.1, Package type Pre-built for Hadoop 2.6 and later.
  2. tutorial04_01

    Copy file spark-1.4.1-bin-hadoop2.6.tgz ke 3 mesin di atas.

    Bisa juga langsung dengan perintah berikut di salah satu mesin,

    hduser@ubuntu1:~$ wget http://www.apache.org/dyn/closer.lua/spark/spark-1.4.1/spark-1.4.1-bin-hadoop2.6.tgz

    Lalu distribusikan ke mesin yang lain dengan perintah scp

    hduser@ubuntu1:~$ scp spark-1.4.1-bin-hadoop2.6.tgz hduser@ubuntu2:/home/hduser/
    hduser@ubuntu1:~$ scp spark-1.4.1-bin-hadoop2.6.tgz hduser@ubuntu3:/home/hduser/
  3. Download Scala 10.2.4
  4. hduser@ubuntu1:~$ wget http://www.scala-lang.org/files/archive/scala-2.10.4.tgz

    Lalu distribusikan ke mesin yang lain dengan perintah scp

    hduser@ubuntu1:~$ scp scala-2.10.4.tgz hduser@ubuntu2:/home/hduser/
    hduser@ubuntu1:~$ scp scala-2.10.4.tgz hduser@ubuntu3:/home/hduser/
  5. Extract package
  6. Extract package spark di atas, dan pindahkan ke direktori /usr/local/spark

    hduser@ubuntu1:~$ tar xzvf spark-1.4.1-bin-hadoop2.6.tgz
    hduser@ubuntu1:~$ sudo mv spark-1.4.1-bin-hadoop2.6 /usr/local/spark

    Extract package scala di atas, dan pindahkan ke direktori /usr/local/scala

  7. Update file .bashrc. Tambahkan 3 baris berikut ini ke akhir file $HOME/.bashrc dari user hadoop. Jika anda menggunakan shell selain bash, maka anda perlu meng-update config file yang bersesuaian
  8. export SCALA_HOME=/usr/local/scala
    export SPARK_HOME=/usr/local/spark
    export PATH=$HOME/bin:$SCALA_HOME/bin:$PATH

    Load setting dengan perintah

    hduser@ubuntu1:~$ . ~/.bashrc

    tutorial04_02

  9. Create direktori /home/hduser/sparkdata
  10. Sesuaikan file-file konfigurasi
  11. file /usr/local/spark/conf/spark-env.sh

    export SCALA_HOME=/usr/local/scala
    export SPARK_WORKER_MEMORY=256m
    export SPARK_WORKER_INSTANCES=1
    export SPARK_WORKER_DIR=/home/hduser/sparkdata
    export SPARK_MASTER_IP=ubuntu1

    tutorial04_03

    file /usr/local/spark/conf/slaves

    hduser@ubuntu1:~$ cp /usr/local/spark/conf/slaves.template /usr/local/spark/conf/slaves (copy file slaves.template ke file slaves)

    ubuntu1
    ubuntu2
    ubuntu3

    tutorial04_04

    hduser@ubuntu1:~$ cp /usr/local/spark/conf/spark-defaults.conf.template /usr/local/spark/conf/spark-defaults.conf (copy file spark-defaults.conf.template ke file spark-defaults.conf)

    file /usr/local/spark/conf/spark-defaults.conf.template

    spark.master spark://ubuntu1:7077 tutorial04_05

    Lakukan langkah 2-6 di atas untuk ke 2 server yang lain.

  12. Jalankan spark master dan worker
  13. Untuk menjalankan spark master dan node, jalankan perintah berikut di mesin master (ubuntu1) :

    hduser@ubuntu1:~$ /usr/local/spark/sbin/start-all.sh

    Cek apakah master dan node sudah jalan, dengan perintah berikut:

    hduser@ubuntu1:~$ jps

    Untuk server master, akan tampak service-service berikut ini (catatan: dfs dan yarn sudah di-start sebelumnya)

    tutorial04_06

    Untuk node worker, sbb:

    tutorial04_07
  14. Spark Shell dan Web Interface
  15. Untuk melihat web interface monitoring, jalankan spark-shell dengan perintah berikut ini:

    hduser@ubuntu1:~$ /usr/local/spark/bin/spark-shell

    Di scala shell, jalankan perintah berikut ini:

    scala> val input = sc.textFile("hdfs://ubuntu1:54310/data/README.txt")
    scala> val words = input.flatMap(line => line.split(" "))
    scala> val counts = words.map(word => (word, 1)).reduceByKey{case (x, y) => x + y}
    scala> counts.collect()

    Akan muncul log dan hasil count yang dimunculkan sebagian sbb:

    tutorial04_08

    Jalankan perintah berikut ini untuk menyimpan output ke hdfs:

    scala> counts.saveAsTextFile("hdfs://ubuntu1:54310/data/testSave")

    scala> counts.saveAsTextFile("hdfs://ubuntu1:54310/data/testSave")

    Untuk mengecek apakah file terbentuk, jalankan perintah berikut dari dari unix shell:

    hduser@ubuntu1:~$ hadoop fs -ls /data
    Found 2 items
    -rw-r--r-- 2 hduser supergroup 1366 2015-11-13 11:21 /data/README.txt
    drwxr-xr-x - hduser supergroup 0 2015-11-13 12:06 /data/testSave

    Bisa juga dengan menggunakan web interface hadoop di ubuntu1:50070, menu Utilities → Browse the File System

    tutorial04_09

    Untuk melihat isi file, gunakan perintah berikut:

    hduser@ubuntu1:~$ hadoop fs -cat /data/testSave

    Untuk melihat perintah lain yang dapat dilakukan di hadoop, gunakan perintah hadoop fs -help

Sekian Tutorial kali ini,

Semoga bermanfaat 🙂

Contributor :

M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng. Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun. Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.
  • Jun 16 / 2015
  • Comments Off on Mengintip Spark 1.4.0
Apache, Big Data, Hadoop, Spark

Mengintip Spark 1.4.0

spark

Tim developer Spark mengumumkan rilis keempat dari Spark versi 1. Rilis ini diklaim sebagai rilis terbesar dari Spark, yang melibatkan kontribusi dari 210 developer dan lebih dari 1000 perbaikan. Rilis ini diumumkan pada tanggal 11 Juni 2015 lalu.

Berbahagialah para penggemar R, karena pada rilis terbaru ini diperkenalkan untuk pertama kalinya SparkR yang merupakan R API untuk Spark. SparkR memungkinkan pengguna R untuk menganalisa dataset yang berjumlah besar dan menggunakan komputasi terdistribusi milik Spark untuk menjalankan proses analisa data dari shell milik R.

Spark 1.4 juga menambahkan fungsi untuk melakukan debugging secara visual dan utilitas untuk melakukan monitoring, yang didisain untuk membantu pengguna untuk memahami bagaimana aplikasi Spark berjalan.

Masih banyak lagi fitur-fitur yang ditambahkan baik dalam Spark Core, Spark SQL, Spark ML maupun Spark Stream. Untuk lebih detailnya dapat mengunjungi spark.apache.org/releases/spark-release-1-4-0.html

Sumber lain :
  1. www.databricks.com/blog/2015/06/11/announcing-apache-spark-1-4.html
  2. www.databricks.com/blog/2015/06/09/announcing-sparkr-r-on-spark.html
  3. www.zdnet.com/article/apache-spark-1-4-adds-r-language-and-hardened-machine-learning/
Contributor :

Sigit Prasetyo
Seorang pengembara dunia maya, sangat suka mengeksplorasi dan menelusuri tautan demi tautan dalam internet untuk memperoleh hal-hal menarik. Saat ini sedang berusaha mengasah ilmu googling. Memiliki kegemaran memancing walaupun saat ini lebih sering memancing di kantor, terutama memancing emosi.

Tertarik dengan Big Data beserta ekosistemnya? Gabung