
上一篇咱们讲了通过hive映射为hbase表导数据,这儿我么再讲一下通过hive,使用hbase原生jar生成hfile再bulkload到hbase,可以做到hive解偶
本篇适用于适用于数据量较大的场景。
具体的 *** 作步骤如下:
启动hive,添加需要的jar包
创建hive表
注意:
这儿输出格式一定要为:HiveHFileOutputFormat。
/hdfs/hive_hbase/cf是生成的hfile在HDFS上的路径,其中cf为Hbase的family。
可以向hive表中插入数据,然后查看HDFS的该目录下是否有文件
通过bulkload导入到hbase
创建对应的hbase表,其中cf为family,应和上一步对应
执行bulkhead,将数据导入到hbase中
a 拖动页面上方工具条中的ProcessorGroup图标至绘图区
b 命名Group并双击打开
a拖动页面上方工具条中的Processor图标至绘图区可以开始创建数据流,成功后如图
b在搜索框处输入想要添加的Processor。此处输入GetFile,然后点击Add,GetFile Processor 添加成功。
c双击GetFile处理器或者右击选择Configure进行配置,根据自身环境和需求,填写相关配置。然后点击APPLY。
a同理添加PutHive,并做相应的配置。与GutFile不同的是,此处要创建Reader/Writer。
b)Reader/Writer等相关配置如下
insurance_schema
c)如图,点击右边的设置按钮可以进入配置,点击闪电样式的按钮可以启动。
d)至此,PutHive Processor创建添加成功。
a每个处理器都有一组定义的“关系”,最基本的是success和failure。把鼠标停在GetFile Processor,会看到一个箭头,拖动箭头到PutHive ,显示success即可。
b此时,PutHive上仍显示警告,提示为success、retry和failure关系未连接到其他组件和自动终止。可以右击configure,在setting中勾选中success、retry和failure即可实现自动终止。
a依次启动Processor,一般按从后往前的顺序右击选择start。
b运行成功后,可以看到数据再不同位置的转移以及数据流的大小、时间等。NiFi为back pressure提供了两个配置元件。分别对应的是对象数量和数据大小。并且进度条基于队列百分比改变颜色:绿色(0-60%),**(61-85%)和红色(86-100%)。鼠标悬停在上面可以显示精确的百分比。
c当运行出现问题时,右上角会出现红色方框,放到上面会出现提示信息。
1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录
如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 41\bin
(或者直接将windows的环境变量path中添加该目录)
2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
如我输入的命令行:mysqldump -u root -p news > newssql (输入后会让你输入进入MySQL的密码)
(如果导出单张表的话在数据库名后面输入表名即可)
3、会看到文件newssql自动生成到bin文件下
命令行导入数据库:
1,将要导入的sql文件移至bin文件下,这样的路径比较方便
2,同上面导出的第1步
3,进入MySQL:mysql -u 用户名 -p
如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码)
4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库
5,输入:mysql>use 目标数据库名
如我输入的命令行:mysql>use news;
6,导入文件:mysql>source 导入的文件名;
如我输入的命令行:mysql>source newssql;
输入配CSV input,输出配Hive output。
需要注意:在CSV input中针对那个日期字段,要配置数据格式:yyyyMMdd HH:mm:ss
javautilDate日期格式为:年月日时分秒
javasqlDate日期格式为:年月日[只存储日期数据不存储时间数据]
javasqlTime日期格式为:时分秒
javasqlTimestamp日期格式为:年月日时分秒纳秒(毫微秒)
loader 提供的时间格式如下:
date是年月日,
time是时分秒,
timestamp是年月日时分秒
以上就是关于借助hive快速导数据到hbase(02)全部的内容,包括:借助hive快速导数据到hbase(02)、Nifi流程配置: CSV >> Hive、如何把hive导出到本地的表导入mysql中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)