通过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.mzph.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;在实现向下完全兼容当前代…