Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Apache Hive

330 views

Published on

Sekilas mengenai Apache Hive

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Apache Hive

  1. 1. Batasan Pengenalan HiveQL EoF Apache Hive Sekilas mengenai Apache Hive Kalamangga.Net Bagian Riset dan Pengembangan Februari 2016 http://www.kalamangga.net Hive
  2. 2. Batasan Pengenalan HiveQL EoF Outline 1 Batasan 2 Pengenalan Definisi Penggunaan Pengelolaan Data Tipe Data 3 HiveQL DDL (Data Definition Language) DSL (Data Selection Language) DML (Data Manipulation Language) Data Aggregation User-Defined Function 4 EoF http://www.kalamangga.net Hive
  3. 3. Batasan Pengenalan HiveQL EoF Batasan Perangkat Distribusi Cloudera : CDH 5.2.4 OS : CentOS 6.5 Penempatan data pada HDFS Web https://hive.apache.org https://cwiki.apache.org/confluence/display/Hive http://www.kalamangga.net Hive
  4. 4. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Outline 1 Batasan 2 Pengenalan Definisi Penggunaan Pengelolaan Data Tipe Data 3 HiveQL DDL (Data Definition Language) DSL (Data Selection Language) DML (Data Manipulation Language) Data Aggregation User-Defined Function 4 EoF http://www.kalamangga.net Hive
  5. 5. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Apache itu Hive? Apache itu Hive? Sebuah proyek pada Yayasan Apache yang memiliki fungsi sebagai gudang data data warehouse. Dikembangkan di atas platform Apache Hadoop. Pada awal pengembangan merupakan sub-proyek dari Apache Hadoop. http://www.kalamangga.net Hive
  6. 6. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Outline 1 Batasan 2 Pengenalan Definisi Penggunaan Pengelolaan Data Tipe Data 3 HiveQL DDL (Data Definition Language) DSL (Data Selection Language) DML (Data Manipulation Language) Data Aggregation User-Defined Function 4 EoF http://www.kalamangga.net Hive
  7. 7. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Bagaimana penggunaan Hive? Bagaimana penggunaan Hive? Umumnya digunakan pada proses ETL. Memberikan struktur data pada berbagai format berkas. Mengakses data langsung dari HDFS atau HBase. Sebagai gudang data. Manajemen data. Analisis data. http://www.kalamangga.net Hive
  8. 8. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Outline 1 Batasan 2 Pengenalan Definisi Penggunaan Pengelolaan Data Tipe Data 3 HiveQL DDL (Data Definition Language) DSL (Data Selection Language) DML (Data Manipulation Language) Data Aggregation User-Defined Function 4 EoF http://www.kalamangga.net Hive
  9. 9. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Bagaimana data dikelola? Data dapat dikelompokkan ke dalam database. Bila tidak ditentukan, database ’default’ akan digunakan. Data disimpan pada HDFS di lokasi sesuai konfigurasi ’hive.metastore.warehouse.dir’, konfigurasi standar menunjuk lokasi ’/user/hive/warehouse’ http://www.kalamangga.net Hive
  10. 10. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Bagaimana data dikelola? Tabel pada Hive mirip dengan konsep tabel pada RDBMS. Setiap tabel diasosiasikan dengan sebuah direktori pada HDFS. Misal : tabel ’pegawai’ pada database default diasosiasikan dengan direktori ’/user/hive/warehouse/pegawai’ di HDFS. http://www.kalamangga.net Hive
  11. 11. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Bagaimana data dikelola? Tabel internal. Tabel yang dimiliki oleh Hive. Pengaturan tabel dan data sepenuhnya oleh Hive. Tabel eksternal. Hive hanya dapat mengatur tabel. Data diatur oleh perangkat / mekanisme lain. http://www.kalamangga.net Hive
  12. 12. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Outline 1 Batasan 2 Pengenalan Definisi Penggunaan Pengelolaan Data Tipe Data 3 HiveQL DDL (Data Definition Language) DSL (Data Selection Language) DML (Data Manipulation Language) Data Aggregation User-Defined Function 4 EoF http://www.kalamangga.net Hive
  13. 13. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Apa saja tipe data yang didukung? Apa saja tipe data yang didukung? Numerik. TINYINT. SMALLINT. INT. BIGINT. FLOAT. DOUBLE. DECIMAL. http://www.kalamangga.net Hive
  14. 14. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Apa saja tipe data yang didukung? Apa saja tipe data yang didukung? Waktu. TIMESTAMP. DATE. String. STRING. VARCHAR. CHAR. Boolean. http://www.kalamangga.net Hive
  15. 15. Batasan Pengenalan HiveQL EoF Apa itu Hive? Bagaimana penggunaan Hive? Bagaimana data dikelola? Apa saja tipe data yang didukung? Apa saja tipe data yang didukung? Apa saja tipe data yang didukung? Binary. Kompleks. Arrays. Maps. Structs. Named Struct. Union. Boolean. http://www.kalamangga.net Hive
  16. 16. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function Pengenalan Pengenalan Apache Hive dapat melakukan query pada data yang disimpan dalam HDFS. Untuk melakukan query, Hive menyediakan bahasa SQL yang disebut Hive Query Language disingkat (HiveQL atau HQL). http://www.kalamangga.net Hive
  17. 17. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function Outline 1 Batasan 2 Pengenalan Definisi Penggunaan Pengelolaan Data Tipe Data 3 HiveQL DDL (Data Definition Language) DSL (Data Selection Language) DML (Data Manipulation Language) Data Aggregation User-Defined Function 4 EoF http://www.kalamangga.net Hive
  18. 18. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function DDL Data Definition Language Database. CREATE DATABASE. COMMENT LOCATION WITH DBPROPERTIES SHOW DATABASE. LIKE ’*’ DESCRIBE DATABASE. USE. DROP. ALTER SET DBPROPERTIES SET OWNER USER http://www.kalamangga.net Hive
  19. 19. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function DDL Data Definition Language Tabel. CREATE TABLE. ROW FORMAT DELIMITED FIELDS TERMINATED BY COLLECTION ITEMS TERMINATED BY MAP KEYS TERMINATED BY STORED AS AS (CTAS) LIKE PARTITIONED BY INSERT INTO TABLE DROP TABLE http://www.kalamangga.net Hive
  20. 20. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function Outline 1 Batasan 2 Pengenalan Definisi Penggunaan Pengelolaan Data Tipe Data 3 HiveQL DDL (Data Definition Language) DSL (Data Selection Language) DML (Data Manipulation Language) Data Aggregation User-Defined Function 4 EoF http://www.kalamangga.net Hive
  21. 21. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function DSL Data Selection Language SELECT. FROM WHERE LIMIT Sub Query IN NOT IN EXIST http://www.kalamangga.net Hive
  22. 22. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function DSL Data Selection Language Join. INNER JOIN LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN CROSS JOIN UNION ALL. http://www.kalamangga.net Hive
  23. 23. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function Outline 1 Batasan 2 Pengenalan Definisi Penggunaan Pengelolaan Data Tipe Data 3 HiveQL DDL (Data Definition Language) DSL (Data Selection Language) DML (Data Manipulation Language) Data Aggregation User-Defined Function 4 EoF http://www.kalamangga.net Hive
  24. 24. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function DML Data Manipulation Language LOAD DATA. LOCAL INPATH OVERWRITE INTO INSERT. INTO TABLE OVERWRITE LOCAL DIRECTORY http://www.kalamangga.net Hive
  25. 25. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function DML Data Manipulation Language EXPORT TABLE ... TO ... IMPORT TABLE ... FROM ... ORDER. SORT. Built-in Functions. SHOW FUNCTIONS DESCRIBE FUNCTIONS EXTENDED http://www.kalamangga.net Hive
  26. 26. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function Outline 1 Batasan 2 Pengenalan Definisi Penggunaan Pengelolaan Data Tipe Data 3 HiveQL DDL (Data Definition Language) DSL (Data Selection Language) DML (Data Manipulation Language) Data Aggregation User-Defined Function 4 EoF http://www.kalamangga.net Hive
  27. 27. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function Data Aggregation COUNT. MAX. MIN. AVG. GROUPING SETS. ROLLUP. CUBE. GROUP BY. http://www.kalamangga.net Hive
  28. 28. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function Data Aggregation Kondisional. CASE WHEN COALESCE IF http://www.kalamangga.net Hive
  29. 29. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function Data Aggregation Fungsi analisis. RANK DENSE_RANK ROW_NUMBER CUME_DIST PERCENT_RANK http://www.kalamangga.net Hive
  30. 30. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function Data Aggregation Fungsi analisis. NTILE LEAD LAG FIRST_VALUE LAST_VALUE http://www.kalamangga.net Hive
  31. 31. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function Outline 1 Batasan 2 Pengenalan Definisi Penggunaan Pengelolaan Data Tipe Data 3 HiveQL DDL (Data Definition Language) DSL (Data Selection Language) DML (Data Manipulation Language) Data Aggregation User-Defined Function 4 EoF http://www.kalamangga.net Hive
  32. 32. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function UDF User-Defined Function Temporary. CREATE TEMPORARY FUNCTION function_name AS class_name DROP TEMPORARY FUNCTION [IF EXISTS] function_name Permanen. CREATE FUNCTION [db_name].function_name AS class_name [USING JAR|FILE|ARCHIVE ’file_uri’ [,USING JAR|FILE|ARCHIVE ’file_uri’] ] DROP FUNCTION [IF EXISTS] function_name Reload. RELOAD FUNCTION http://www.kalamangga.net Hive
  33. 33. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function UDF User-Defined Function UDF (User Defined Function) Berjalan pada tiap baris dan menghasilkan keluaran untuk tiap barisnya. UDAF (User Defined Aggregate Function) Berjalan pada tiap baris atau kelompok baris dan menghasilkan keluaran untuk tiap baris atau kelompok baris yang didefinisikan. UDTF (User Defined Table-Generating Function) Berjalan pada tiap baris atau kelompok baris dan menghasilkan keluaran berupa tabel. http://www.kalamangga.net Hive
  34. 34. Batasan Pengenalan HiveQL EoF Data Definition Language Data Selection Language Data Manipulation Language Data Aggregation User-Defined Function UDF User-Defined Function Langkah pembuatan Buat fungsi dalam bahasa Java Compile dan pack menjadi JAR Load JAR ke HDFS Daftarkan JAR ADD JAR /path/di/hdfs/nama_file.jar Definisikan fungsi CREATE TEMPORARY FUNCTION nama_fungsi AS net.kalamangga.dev.nama_fungsi Gunakan dalam query SELECT nama_fungsi(kolom1) FROM nama_tabel http://www.kalamangga.net Hive
  35. 35. Batasan Pengenalan HiveQL EoF EoF End of File Terima Kasih Disiapkan oleh : Yudha H Tejaningrat yht@kalamangga.web.id http://www.kalamangga.net Hive

×