首页 > 其他分享 >Flume - [04] Hive Sink

Flume - [04] Hive Sink

时间:2024-03-20 20:22:53浏览次数:25  
标签:Flume flume sinks 04 hive a1 sources k1 Hive

 

 

一、概述

  HIVE Sink 将包含分割文本或JSON数据的事件直接流到Hive表或分区中。事件是使用Hive事务编写的。一旦一组事件被提交到Hive,它们就会立即对hive查询可见。流到其中的分区可以是预先创建的,也可以是可选的,如果它们丢失了,可以创建它们。传入事件数据中的字段映射到Hive标中的相应列。

 

二、配置

1、在 flume-env.sh中配置hive的路径

export HIVE_HOME=/data/hive/apache-hive

2、配置hive sink的properties文件

# flume配置的例子
# Name the components on this agent
# source:起一个别名
# properties文件它是java的配置文件,=左边就是键,=右边是值;键的开头都是以a1(就是flume的名字--agent的名字就是a1);a1随便起
a1.sources = r1
# sink:起一个别名
a1.sinks = k1
# channels;:起一个别名
a1.channels = c1
 
# Describe/configure the source
# spooldir:监控硬盘上指定的某个目录,如果文件发生变化,会被flume捕获;
a1.sources.r1.type = spooldir
# 要监控的目录,此目录必须存在
a1.sources.r1.spoolDir =/root/flume/
# 已经完成的文件,会加上一个后缀
a1.sources.r1.fileSuffix =.ok
# 已经完成的文件,会立即删除,默认值是never;(永不删除)
# a1.sources.r1.deletePolicy =immediate
# 是否添加存储绝对路径文件名的标题
a1.sources.r1.fileHeader =true
# 只处理此目录下面的txt文件;
a1.sources.r1.includePattern =^[\\w]+\\.txt$
 
# Describe the sink
# 采集的是日志(txt);在hive中创建一张表,load data把文件拷贝到指定目录下面,
# 相当于把日志文件中的记录插入到了hive表
# hive
a1.sinks.k1.type =hive
# hive的服务器
a1.sinks.k1.hive.metastore =thrift://node7-4:9083
# hive的数据库
a1.sinks.k1.hive.database =mydata
# hive的表名,(这张表一定得存在,需要在hive中创建表)
a1.sinks.k1.hive.table =flume_table
# 配置分区,多个分区使用逗号隔开;time=%Y-%m-%d,a=b,c=d;一个分区的时候名字可以省;分区不是必须配置的
a1.sinks.k1.hive.partition=time-%Y-%m-%d
# useLocalTimeStamp
a1.sinks.k1.useLocalTimeStamp =true
# 采集的数据是文本文件(如果是json文件就填写json)
a1.sinks.k1.serializer =DELIMITED
# 列与列之间的分隔符
a1.sinks.k1.serializer.delimiter=,
# 采集的源文件里面有好几列,到底要使用哪几列的数据
a1.sinks.k1.serializer.fieldnames=id,msg,createtime
 
# Use a channel which buffers events in memory
# 描述一下channel:内存
a1.channels.c1.type = memory
# capacity:容量
a1.channels.c1.capacity = 1000000
# transactionCapacity:事务的容量
a1.channels.c1.transactionCapacity = 1000000
 
# Bind the source and sink to the channel
# 绑定;source和channel绑定
a1.sources.r1.channels = c1
# sink和channel绑定
a1.sinks.k1.channel = c1

 

三、测试

1、启动hadoop

2、启动hive

3、在hive中创建一张表

create table flume_table
(
    id int,
    msg string,
    createTime string
)
partitioned by (ctime string)
clustered by (id) into 5 buckets
stored as orc
tblproperties ("transactional"="true")

4、准备数据文件(data.txt)

1,zxy,2018-06-01
2,zxc,2020-03-01
3,hhl,1998-04-01
4,gqj,1949-10-01
5,ljh,2019-06-24

5、启动flume服务端

nohup bin/flume-ng agent --conf conf \
--conf-file conf/flume_hive.properties \
--name a1 -Dflume.root.logger=INFO,console &

6、观察hive表flume_table的变化

 

 

 

— 要养成终生学习的习惯 —

 

标签:Flume,flume,sinks,04,hive,a1,sources,k1,Hive
From: https://www.cnblogs.com/houhuilinblogs/p/18085992

相关文章

  • Flume - [02] Spooling Directory Source
     一、概述  可以通过将文件放入磁盘上的"Spooldir"目录中来获取数据。此源会监视指定目录中的新文件,并在新文件出现时解析新文件中的事件。事件解析逻辑是可插入的。在将指定文件完全读取到通道后,默认情况下通过重命名文件来指示文件来指示完成,或者可以删除它,或者使用trac......
  • HDU 2048:神、上帝以及老天爷(错排问题)
    一、原题链接[Problem-2048(hdu.edu.cn)](https://acm.hdu.edu.cn/showproblem.php?pid=2045)二、题面HDU2006'10ACMcontest的颁奖晚会隆重开始了!为了活跃气氛,组织者举行了一个别开生面、奖品丰厚的抽奖活动,这个活动的具体要求是这样的:首先,所有参加晚会的人员都将一......
  • Pytorch | Tutorial-04 构建神经网络模型
    这是对Pytorch官网的Tutorial教程的中文翻译。神经网络由对数据执行操作的层/模块组成。torch.nn命名空间提供了构建您自己的神经网络所需的所有构建块。PyTorch中的每个模块都是nn.Module的子类。神经网络本身就是一个模块,由其他模块(层)组成。这种嵌套结构允许轻松构......
  • Ubuntu 22.04 开启root账户ssh登录
    1.设置root账户密码sudopasswdroot按照提示输入密码及二次确认:至此已经可以本地登录root账号了。 2.开启root账户远程ssh登录sudosed-i's/#PermitRootLoginprohibit-password/PermitRootLoginyes/'/etc/ssh/sshd_configsudosystemctlrestartssh ......
  • 01天【代码随想录算法训练营34期】 第一章 数组part01 (704. 二分查找、 27. 移除元
    二分查找classSolution(object):defsearch(self,nums,target):low=0high=len(nums)-1while(low<=high):mid=(high+low)//2ifnums[mid]==target:returnmide......
  • 004、月下独酌
    004、月下独酌唐●李白花间一壶酒,独酌无相亲。举杯邀明月,对影成三人。月既不解饮,影徒随我身。暂伴月将影,行乐须及春。我歌月徘徊,我舞影零乱。醒时同交欢,醉后各分散。永结无情游,相期邈云汉。 【现代诗演泽】月下独自饮酒 花丛、美酒,却没有人与我共饮。 举起酒杯......
  • 代码随想录刷题记录第一天 | 数组 | 704. 二分查找,27. 移除元素
    题目链接:704.二分查找-https://leetcode.cn/problems/binary-search/description/27.移除元素-https://leetcode.cn/problems/remove-element/description/文章学习链接:https://programmercarl.com/数组理论基础.html视频学习链接:https://www.bilibili.com/video/BV1f......
  • 代码随想录算法训练营第十一天| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项
    题目:20.有效的括号文章链接:代码随想录视频链接:LeetCode:20.有效的括号题目链接:力扣题目链接图释:classSolution{public://有效的括号boolisValid(strings){ //遇到左括号时就放入右括号,遇到右括号时,与栈内的顶元素进行比较 //情况一:与栈顶元素相等,则是t......
  • 三分钟手把手教你激活flstudio21.2.3.4004中文破解版2024年图文激活教程
    flstudio21是什么软件?​flstudio21是由比利时软件公司Image-Line开发的音乐制作软件,它拥有丰富的音效、合成器、采样器、鼓机等工具。FL Studio支持多种音频文件格式,包括MIDI、MP3、WAV、OGG等,可以帮助用户自由地进行音乐创作。flstudio21.2.3.4004中文破解版作为一款极具......
  • HDU 2045:不容易系列之(3)—— LELE的RPG难题(动态规划)
    一、原题链接Problem-2045(hdu.edu.cn)二、题面人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:有排成一行的n个方格,用红(Red)、粉(Pink)、绿(G......