通過Flume簡單實現Kafka與Hive對接(Json格式)

將以下存儲在kafka的topic中的JSON格式字符串,對接存儲到Hive的表中

{"id":1,"name":"小李"}
{"id":2,"name":"小張"}
{"id":3,"name":"小劉"}
{"id":4,"name":"小王"}

1、在hive/conf/hive-site.xml中添加或修改如下內容:

    <property><name>hive.txn.manager</name><value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value></property><property><name>hive.support.concurrency</name><value>true</value></property><property><name>hive.metastore.uris</name><value>thrift://localhost:9083</value></property>

2、創建database、table,其中表有id、name這個兩個字段

hive> create database hivetokafka;hive> create table kafkatable(id int,name string) 
hive> clustered by(id) into 2 buckets stored as orc tblproperties('transactional'='true');

3、執行 hive --service metastore & 啟動元數據服務

 hive --service metastore & 

4、配置conf文件,這里文件名和位置可以隨意(我的是放在hive/myconf/新建的目錄下,名字為kafkatohive.conf),添加如下內容

a.sources=source_from_kafka
a.channels=mem_channel
a.sinks=hive_sink#kafka為souce的配置
a.sources.source_from_kafka.type=org.apache.flume.source.kafka.KafkaSource
a.sources.source_from_kafka.zookeeperConnect=localhost:2181
a.sources.source_from_kafka.bootstrap.servers=localhost:9092
a.sources.source_from_kafka.topic=testtopic
a.sources.source_from_kafka.channels=mem_channel
a.sources.source_from_kafka.consumer.timeout.ms=1000
#hive為sink的配置
a.sinks.hive_sink.type=hive
a.sinks.hive_sink.hive.metastore=thrift://localhost:9083
a.sinks.hive_sink.hive.database=hivetokafka
a.sinks.hive_sink.hive.table=kafkatable
a.sinks.hive_sink.hive.txnsPerBatchAsk=2
a.sinks.hive_sink.batchSize=10
a.sinks.hive_sink.serializer=JSON
a.sinks.hive_sink.serializer.fieldnames=id,name
#channel的配置
a.channels.mem_channel.type=memory
a.channels.mem_channel.capacity=1500
a.channels.mem_channel.transactionCapacity=1000
#三者之間的關系
a.sources.source_from_kafka.channels=mem_channel
a.sinks.hive_sink.channel=mem_channel

5、將/hive/hcatalog/share/hcatalog/hive-hcatalog-streaming-x.x.x.jar拷貝到/flume/lib/下

此外還需要注意/hive/lib/guava-xx.x-jre.jar下與/flume/lib/下的版本是否一致。

6、啟動flume,命令格式如下

flume-ng agent --conf conf/ --conf-file conf/….  --name a -Dflume.root.logger=INFO,console;

我這里就是(在flume/路徑下 ):

bin/flume-ng agent --conf myconf/ --conf-file myconf/kafkatohive.conf  --name a -Dflume.root.logger=INFO,console;

7、新建終端窗口,創建topic(默認已經啟動了zookeeper和kafka服務了)

kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testtopic

8、啟動kafka生產者,進行生產消息

啟動命令:

kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic

生產消息:

>{"id":1,"name":"小李"}
>{"id":2,"name":"小張"}
>{"id":3,"name":"小劉"}
>{"id":4,"name":"小王"}

9、查看結果

hive> select * from student;
OK
1	小李
2	小張
3	小劉
4	小王Time taken: 0.589 seconds, Fetched: 10 row(s)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535841.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535841.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535841.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

改造MIP獲得搜索青睞,輕松完成SEO

搜索引擎目標及頁面排序方法 搜索引擎作為互聯網流量的入口&#xff0c;承擔著流量分發的職責。但排序成千上萬的網頁&#xff0c;決定哪些網頁在第一頁&#xff0c;是由網頁本身的用戶體驗決定的。權重算法會從內容優質性&#xff0c;廣告多少&#xff0c;加載速度等多個角度…

日常問題———Attempting to operate on hdfs namenode as root

寫在最前注意&#xff1a; 1、master&#xff0c;slave都需要修改start-dfs.sh&#xff0c;stop-dfs.sh&#xff0c;start-yarn.sh&#xff0c;stop-yarn.sh四個文件 2、如果你的Hadoop是另外啟用其它用戶來啟動&#xff0c;記得將root改為對應用戶 HDFS格式化后啟動dfs出現以…

WebP 在減少圖片體積和流量上的效果如何?MIP技術實踐分享

作者 | Jackson 編輯 | 尾尾 不論是 PC 還是移動端&#xff0c;圖片一直占據著頁面流量的大頭&#xff0c;在圖片的大小和質量之間如何權衡&#xff0c;成為了長期困擾開發者們的問題。而 WebP 技術的出現&#xff0c;為解決該問題提供了好的方案。本文將為大家詳細介紹 WebP …

日常問題——pdsh localhost Connection refused

問題描述&#xff1a; 本地安裝hadoop單機模式的時候需要啟動namenode時報錯 pdshxxx: localhost: connect: Connection refused解決方案&#xff08;過程&#xff09;&#xff1a; 原因是pdsh默認采用的是rsh登錄&#xff0c;修改成ssh登錄即可&#xff0c;在環境變量/etc/…

MIP技術進展月報第2期: 數據綁定,異步腳本加速

一、 功能更新 1. mip-bind 上線&#xff0c;實現復雜交互 MIP bind 雙向綁定機制和組件上線&#xff0c;提供雙向綁定的特性&#xff1b;能夠允許頁面實現數據驅動功能&#xff0c;開發者可以在任意場景修改數據&#xff0c;并驅動頁面元素變動。 MIP 小姐姐畫外音&#xf…

Hadoop的安裝與配置——設置單節點群集

本篇博客將主要介紹如何設置和配置單節點Hadoop安裝&#xff0c;以便我們可以使用Hadoop 的MapReduce與HDFS快速執行簡單的操作。 零、先決條件 1、本系列以Ubuntu Linux作為開發和生產平臺 2、Linux所需的軟件包括&#xff1a; JAVA&#xff1a;必須安裝Java&#xff0c;配置…

MIP 腳本域名地址變更公告

尊敬的 MIP 開發者&#xff1a; MIP 團隊為了解決 MIP-Cache 頁面下 cookie 相互覆蓋問題&#xff0c;增強站點品牌露出&#xff0c;在 2017 年 8 月將 MIP 的腳本域名和 MIP-Cache 頁面域名進行了升級變更&#xff0c;詳見說明 MIP-Cache 域名升級。 在 12 月中旬&#xff0…

新手教程:不寫JS,在MIP頁中實現異步加載數據

從需求談起&#xff1a;在 MIP 頁中異步加載數據 MIP&#xff08;移動網頁加速器&#xff09; 的 加速原理 除了靠譜的 MIP-Cache CDN 加速外&#xff0c;最值得一提的就是組件系統。所有 JS 交互都需要使用 MIP 組件實現&#xff0c;保證頁面中所有 JS 都是最精簡高效的&…

日常問題———安裝新版zookeeper 出現Starting zookeeper ... FAILED TO START

問題描述 安裝新版zookeeper使用 /apache-zookeeper-3.6.1.tar.gz解壓后運行zoServer.sh文件時出現Starting zookeeper … FAILED TO START錯誤 解決方案&#xff08;過程&#xff09; 實際上應該是下載錯了文件。在官網上有兩個tar.gz文件&#xff0c;從3.5.5版本開始&…

Hadoop的安裝與配置——搭建完全分布式集群

一、搭建集群 1、準備服務器&#xff08;這里以我的3臺Centos7為例&#xff09; 1個主節點&#xff1a;Carlota1(192.168.33.21)&#xff0c;2個子節點&#xff1a;Carlota2(192.168.33.22)&#xff0c;Carlota3(192.168.33.23) 2、配置主節點名 在主節點命令行輸入&#x…

HTTP 視頻怎么在 MIP 頁面中使用?

在 MIP 中&#xff0c;一些資源的使用需要支持 HTTPS&#xff0c;視頻就是其中一種。但目前大部分站點的視頻資源都還是 HTTP 的資源&#xff0c;無法在百度 MIP 搜索結果中直接使用&#xff0c; mip-video 視頻組件針對 HTTP 的視頻資源采用跳到一個 HTTP 的播放頁面進行播放&…

MIP 組件庫升級公告

背景 為了方便廣大開發者們更好地使用組件&#xff0c;現對 MIP 組件庫統一進行升級&#xff0c;升級后將分為通用組件和自定義組件兩類&#xff0c;方便開發。 通用組件&#xff0c;即考慮了組件通用性方便所有開發者參考使用的組件&#xff0c;將存放于 mip-extensions 倉庫…

騰訊云服務器 ubuntu 設置允許root用戶登錄和禁用ubuntu用戶

最近購買了騰訊云服務器&#xff0c;使用了 Ubuntu Server 18.04.1 LTS 64位操作系統&#xff0c;發現默認用戶為ubuntu,而無法用root用戶進行ssh登陸&#xff0c;本篇就記錄一下開通root和禁用ubuntu的過程。 1、設置允許root用戶登錄 使用用戶名ubuntu登錄sudo passwd root…

Ubuntu 修改 hostname

1、vi /etc/cloud/cloud.cfg 2、將preserve_hostname: false修改為preserve_hostname: true 3、hostnamectl set-hostname 主機名 4、reboot重啟系統生效

MIP 技術月報(4月):支持熊掌號登錄;優化頁面懸浮元素

之前由MIP團隊維護的《移動 Web 加速技術月報》從本期開始&#xff0c;正式升級為《MIP 技術月報》&#xff0c;與以往不同的是&#xff0c;《MIP 技術月報》將會與大家分享包含移動加速技術以外的其他移動應用開發的技術&#xff0c;從移動用戶體驗、開發體驗出發來分享 MIP 的…

Ubuntu18.04安裝最新版Docker

卸載舊的docker版本apt-get remove docker docker-engine docker.io containerd runc更新軟件列表apt-get update.允許apt命令可以使用HTTPS訪問Docker repositoryapt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common添加Docker…

MIP 問題解決方案大全(2018-06更新)

在 MIP 推出后&#xff0c;我們收到了一些站長的疑問。現將常見問題整理出來&#xff0c;幫助大家了解 MIP 的知識。 一、MIP 認知類問題二、改造前準備三、前端改造&#xff0c;組件使用四、提交生效五、MIPCache六、更多學習資源 一、MIP 認知類問題 1.1 MIP 化的收益是什…

Ubuntu18使用docker快速安裝oracle 11g

1、安裝docker環境&#xff0c;參照Ubuntu18.04安裝最新版Docker 2、下載oracle鏡像docker pull deadok22/docker-oracle-xe-11g 3、下載完成后&#xff0c;啟動oracle鏡像作為容器&#xff1a;docker run -h "oracle" --name "oracle" -d -p 49160:22 -p …

ubuntu新建用戶后,終端下方向鍵和tab鍵不可用的解決方法

問題描述&#xff1a; 用adduser命令新增了用戶之后&#xff0c;發現在該新建用戶下的命令終端&#xff0c;使用方向鍵無法調出歷史命令&#xff0c;同時tab鍵也無法補全輸入命令。 問題解決&#xff1a; 在/etc/passwd中發現&#xff0c;該新建用戶使用的shell為/bin/sh&…

移動Web體驗月報(6月):MIP 核心代碼升級,增加基于 Vue 開發能力

原創&#xff1a; BrilliantOpenWeb OpenWeb開發者 7月6日 作者 | Brilliant Open Web 團隊 編輯 | Daisy 升級與重要進展 歷時2個月&#xff0c;MIP團隊完成了核心代碼重構與核心功能升級&#xff0c;MIP新版本核心代碼&#xff08;V2&#xff09;在實現向下完全兼容當前代…