利用Flume kafka與hive對接

2021-09-24 14:50:05 字數 2439 閱讀 7628

flume是cloudera提供的乙個高可用的,高可靠的,分布式的海量日誌採集,聚合和傳輸的系統,flume支援系統中定製的各類資料傳送方,用於收集資料,同時,flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製的)的能力。

當前flume有兩個版本flume 0.9x版本統稱flume-og,flume1.x版本的統稱flume-ng。由於flume-ng經過重大重構,與flume-og有很大不同。使用時請注意區分。

接下來就是操作步驟了。

注意:建表時要進行分桶,賦予事務性,這樣才可以對hive進行增刪改查。預設是不被允許的。

建表如下:

create table kafkatest(id int,name string,age int) clustered by(id) into 2 buckets 

stored as orc tblproperties(『transactional』=』true』);

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=kafkatest

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=itcast

a.sinks.hive_sink.hive.table=kafkatest

a.sinks.hive_sink.hive.txnsperbatchask=2

a.sinks.hive_sink.batchsize=10

a.sinks.hive_sink.serializer=delimited

a.sinks.hive_sink.serializer.delimiter=,

a.sinks.hive_sink.serializer.fieldnames=id,name,age

#channel的配置

a.channels.mem_channel.type=memory

a.channels.mem_channel.capacity=1000

a.channels.mem_channel.transactioncapacity=100

#三者之間的關係

a.sources.source_from_kafka.channels=mem_channel

a.sinks.hive_sink.channel=mem_channel

第一種方式:指令碼命令

set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.dbtxnmanager;
第二種方式:配置檔案(hive-site.xml)

hive.txn.manager

org.apache.hadoop.hive.ql.lockmgr.dbtxnmanager

先執行如下指令碼:

hive --service metastore &
再啟動hive

flume-ng agent --conf conf/ --conf-file conf/….  --name a -dflume.root.logger=info,console;
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kafkatest;
kafka-console-producer.sh --broker-list localhost:9092 --topic kafkatest;
至此,就大功告成了,kafka生產的訊息就可以通過flume下沉到hive中了。

小Hi與魔法

小hi在遊戲中正面對n名敵人,其中第i名敵人的生命值是hi。如果敵人的生命值降為0,那麼這名敵人就會被消滅。小hi可以釋放乙個魔法,這個魔法的效果是令所有敵人的生命值降低1點 並且如果有敵人被這一次的施法消滅,那麼這個魔法會再重複釋放一次。直到某次釋放沒有敵人被消滅,或者所有敵人都被消滅,這個魔法才...

Hi3519V100與Hi3519V101的區別

差異點 hi3519v100 hi3519v101 cpu a17 最高支援到1.15ghz 最高支援到1.25ghz ddrddr最高頻率支援到800mhz ddr最高頻率支援到933mhz jpeg 基礎版本 增加osd,迴圈buffer功能 智慧型基礎版本 svm查詢表最大支援到 4k 16b...

HI3519V101的MPP開發環境與venc測試

1.sdk目錄介紹 2.搭建ftp或者nfs檔案系統 3.mpp檔案部署 在一般的嵌入式開發中,只要將 uboot kernel rootfs mpp平台中,進一步簡化了工程師的開發難度。3.1什麼是mpp 海思提供的 處理軟體平台 media process platform,簡稱mpp 可支援應...