Kafka Connector для Presto позволяет получить доступ к данным из Apache Kafka с помощью Presto.
Предпосылки
Загрузите и установите последнюю версию следующих проектов Apache.
- Apache ZooKeeper
- Апач Кафка
Запустить ZooKeeper
Запустите сервер ZooKeeper с помощью следующей команды.
$ bin/zookeeper-server-start.sh config/zookeeper.properties
Теперь ZooKeeper запускает порт на 2181.
Старт Кафка
Запустите Kafka в другом терминале, используя следующую команду.
$ bin/kafka-server-start.sh config/server.properties
После запуска kafka используется номер порта 9092.
Данные TPCH
Скачать tpch-kafka
$ curl -o kafka-tpch https://repo1.maven.org/maven2/de/softwareforge/kafka_tpch_0811/1.0/kafka_tpch_ 0811-1.0.sh
Теперь вы загрузили загрузчик из Maven central с помощью приведенной выше команды. Вы получите ответ, подобный следующему.
% 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 ………………………..
Затем сделайте его исполняемым с помощью следующей команды:
$ chmod 755 kafka-tpch
Запустить тпч-кафку
Запустите программу kafka-tpch, чтобы предварительно загрузить несколько разделов с данными tpch, используя следующую команду.
запрос
$ ./kafka-tpch load --brokers localhost:9092 --prefix tpch. --tpch-type tiny
Результат
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'... ……………………… ……………………….
Теперь таблицы клиентов Kafka, заказы, поставщики и т. Д. Загружаются с помощью tpch.
Добавить настройки конфигурации
Давайте добавим следующие параметры конфигурации коннектора Kafka на сервере 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
В приведенной выше конфигурации таблицы Kafka загружаются с помощью программы Kafka-tpch.
Запустите Presto CLI
Запустите Presto CLI, используя следующую команду:
$ ./presto --server localhost:8080 --catalog kafka —schema tpch;
Здесь «tpch» — схема для коннектора Kafka, и вы получите ответ в следующем виде.
presto:tpch>
Список таблиц
Следующий запрос перечисляет все таблицы в схеме «tpch» .
запрос
presto:tpch> show tables;
Результат
Table ---------- customer lineitem nation orders part partsupp region supplier
Опишите таблицу клиентов
Следующий запрос описывает таблицу «клиент» .