Apache Presto - złącze KAFKA
Kafka Connector for Presto umożliwia dostęp do danych z Apache Kafka przy użyciu Presto.
Wymagania wstępne
Pobierz i zainstaluj najnowszą wersję następujących projektów Apache.
- Apache ZooKeeper
- Apache Kafka
Uruchom ZooKeeper
Uruchom serwer ZooKeeper za pomocą następującego polecenia.
$ bin/zookeeper-server-start.sh config/zookeeper.properties
Teraz ZooKeeper uruchamia port 2181.
Uruchom Kafkę
Uruchom Kafkę w innym terminalu, używając następującego polecenia.
$ bin/kafka-server-start.sh config/server.properties
Po uruchomieniu kafka używa numeru portu 9092.
Dane TPCH
Pobierz pliki tpch-kafka
$ curl -o kafka-tpch
https://repo1.maven.org/maven2/de/softwareforge/kafka_tpch_0811/1.0/kafka_tpch_
0811-1.0.sh
Teraz pobrałeś moduł ładujący z centrali Maven za pomocą powyższego polecenia. Otrzymasz podobną odpowiedź, jak poniżej.
% 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
………………………..
Następnie uczyń go wykonywalnym za pomocą następującego polecenia,
$ chmod 755 kafka-tpch
Uruchom tpch-kafka
Uruchom program kafka-tpch, aby wstępnie załadować kilka tematów z danymi tpch, używając następującego polecenia.
Pytanie
$ ./kafka-tpch load --brokers localhost:9092 --prefix tpch. --tpch-type tiny
Wynik
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'...
………………………
……………………….
Teraz tablice klientów, zamówień, dostawców itp. Kafki są ładowane za pomocą tpch.
Dodaj ustawienia konfiguracji
Dodajmy następujące ustawienia konfiguracji łącznika Kafka na serwerze 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
W powyższej konfiguracji tabele Kafki są ładowane za pomocą programu Kafka-tpch.
Uruchom Presto CLI
Uruchom Presto CLI za pomocą następującego polecenia,
$ ./presto --server localhost:8080 --catalog kafka —schema tpch;
Tutaj “tpch" jest schematem dla łącznika Kafka i otrzymasz następującą odpowiedź.
presto:tpch>
Tabele list
Następujące zapytanie wyświetla wszystkie tabele w “tpch” schemat.
Pytanie
presto:tpch> show tables;
Wynik
Table
----------
customer
lineitem
nation
orders
part
partsupp
region
supplier
Opisz tabelę klientów
Następujące zapytanie opisuje “customer” stół.
Pytanie
presto:tpch> describe customer;
Wynik
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