Apache Presto - Konektor KAFKA

Konektor Kafka untuk Presto memungkinkan untuk mengakses data dari Apache Kafka menggunakan Presto.

Prasyarat

Unduh dan instal versi terbaru dari proyek Apache berikut.

  • Penjaga kebun binatang Apache
  • Apache Kafka

Mulai ZooKeeper

Mulai server Zookeeper menggunakan perintah berikut.

$ bin/zookeeper-server-start.sh config/zookeeper.properties

Sekarang, ZooKeeper memulai port pada 2181.

Mulai Kafka

Mulai Kafka di terminal lain menggunakan perintah berikut.

$ bin/kafka-server-start.sh config/server.properties

Setelah kafka dimulai, ia menggunakan nomor port 9092.

Data TPCH

Unduh tpch-kafka

$  curl -o kafka-tpch 
https://repo1.maven.org/maven2/de/softwareforge/kafka_tpch_0811/1.0/kafka_tpch_ 
0811-1.0.sh

Sekarang Anda telah mengunduh loader dari pusat Maven menggunakan perintah di atas. Anda akan mendapatkan tanggapan serupa sebagai berikut.

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current 
                                 Dload  Upload   Total   Spent    Left  Speed 
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0  
  5 21.6M    5 1279k    0     0  83898      0  0:04:30  0:00:15  0:04:15  129k
  6 21.6M    6 1407k    0     0  86656      0  0:04:21  0:00:16  0:04:05  131k  
 24 21.6M   24 5439k    0     0   124k      0  0:02:57  0:00:43  0:02:14  175k 
 24 21.6M   24 5439k    0     0   124k      0  0:02:58  0:00:43  0:02:15  160k 
 25 21.6M   25 5736k    0     0   128k      0  0:02:52  0:00:44  0:02:08  181k 
 ………………………..

Kemudian, buat itu dapat dieksekusi menggunakan perintah berikut,

$ chmod 755 kafka-tpch

Jalankan tpch-kafka

Jalankan program kafka-tpch untuk melakukan pramuat sejumlah topik dengan data tpch menggunakan perintah berikut.

Pertanyaan

$ ./kafka-tpch load --brokers localhost:9092 --prefix tpch. --tpch-type tiny

Hasil

2016-07-13T16:15:52.083+0530 INFO main io.airlift.log.Logging Logging 
to stderr
2016-07-13T16:15:52.124+0530 INFO main de.softwareforge.kafka.LoadCommand
Processing tables: [customer, orders, lineitem, part, partsupp, supplier,
nation, region]
2016-07-13T16:15:52.834+0530 INFO pool-1-thread-1
de.softwareforge.kafka.LoadCommand Loading table 'customer' into topic 'tpch.customer'...
2016-07-13T16:15:52.834+0530 INFO pool-1-thread-2
de.softwareforge.kafka.LoadCommand Loading table 'orders' into topic 'tpch.orders'...
2016-07-13T16:15:52.834+0530 INFO pool-1-thread-3
de.softwareforge.kafka.LoadCommand Loading table 'lineitem' into topic 'tpch.lineitem'...
2016-07-13T16:15:52.834+0530 INFO pool-1-thread-4
de.softwareforge.kafka.LoadCommand Loading table 'part' into topic 'tpch.part'...
………………………
……………………….

Sekarang, pelanggan tabel Kafka, pesanan, pemasok, dll., Dimuat menggunakan tpch.

Tambahkan Pengaturan Config

Mari tambahkan pengaturan konfigurasi konektor Kafka berikut di server Presto.

connector.name = kafka  

kafka.nodes = localhost:9092  

kafka.table-names = tpch.customer,tpch.orders,tpch.lineitem,tpch.part,tpch.partsupp, 
tpch.supplier,tpch.nation,tpch.region  

kafka.hide-internal-columns = false

Dalam konfigurasi di atas, tabel Kafka dimuat menggunakan program Kafka-tpch.

Mulai Presto CLI

Mulai Presto CLI menggunakan perintah berikut,

$ ./presto --server localhost:8080 --catalog kafka —schema tpch;

Sini “tpch" adalah skema untuk konektor Kafka dan Anda akan menerima respons sebagai berikut.

presto:tpch>

Tabel Daftar

Kueri berikut mencantumkan semua tabel di “tpch” skema.

Pertanyaan

presto:tpch> show tables;

Hasil

Table 
---------- 
 customer 
 lineitem 
 nation 
 orders
 part 
 partsupp 
 region 
 supplier

Jelaskan Tabel Pelanggan

Pertanyaan berikut menjelaskan “customer” meja.

Pertanyaan

presto:tpch> describe customer;

Hasil

Column           |  Type   |                   Comment 
-------------------+---------+--------------------------------------------- 
 _partition_id     | bigint  | Partition Id 
 _partition_offset | bigint  | Offset for the message within the partition 
 _segment_start    | bigint  | Segment start offset 
 _segment_end      | bigint  | Segment end offset 
 _segment_count    | bigint  | Running message count per segment 
 _key              | varchar | Key text 
 _key_corrupt      | boolean | Key data is corrupt 
 _key_length       | bigint  | Total number of key bytes 
 _message          | varchar | Message text 
 _message_corrupt  | boolean | Message data is corrupt 
 _message_length   | bigint  | Total number of message bytes