kettle+hive使用心得之Hadoop File Output

浏览: 10880

kettle作为etl工具同步数据到hive,直接使用表输出或者插入更新组件出现速度秒级一条的尴尬,为了解决这种输出端数据同步瓶颈及缓解给领导交代的窘态,在项目中使用了Hadoop File Output组件,流程如下:

一、连接hadoop配置

1、点击kettle  big data 配置文件

Clipboard Image.png

2、修改active.hadoop.configuration值为hdp47(对应与下一步hadoop配置文件)

Clipboard Image.png

3、修改hadoop-configurations下一个文件名字为上述active.hadoop.configuration对应名字

Clipboard Image.png

4、copy集群的配置文件到hdp47下,并覆盖

需要的文件:core-site.xml、hbase-site.xml、mapred-site.xml、yarn-site.xml

5、copy集群夹包inceptor-driver.jar(本集群使用星环)到hdp47/lib下

二、Hadoop File Output的使用

1、编辑连接:选择主对象树种 Hadoop clusters 右击新建

Clipboard Image.png

其中:Cluster Name 自定义集群名字;Hdfs Hostname为集群active  Namenode ip,端口默认为8020;JobTracker为集群运用resource manager 权限的节点ip,端口默认为8032;ZooKeeper Hostname为对应节点ip,默认端口为2181;Oozie可不填。

点击测试:

Clipboard Image.png

ok,连接成功!

2、新建转换,选择big Data下的Hadoop File Input

Clipboard Image.png

3、选择新建好的Hadoop cluster ,点击浏览指定数据存放hdfs位置

Clipboard Image.png

4、内容tab,可选择是否追加数据,分隔符选择要与hive外表字段分割符相对应(row format delimited fields terminated by '|' loaction '/../../文件位置'),

格式默认为dos(注:当导入数据到hive中字段出现特殊字符时,可在此选择为Unix~经验之谈)

Clipboard Image.png 

5、字段tab,获取字段并选择最小宽带

Clipboard Image.png

6、点击确定,程序成功运行

7、通过hdfs查看同步的对应数据

查看数据:

Hdfs dfs -cat /dwbi/basicDw/drivinglicense/drivinglicense.txt

查看hdfs文件行数:

Hdfs dfs -cat /dwbi/basicDw/drivinglicense/part-m* | wc -l

统计文件大小:

hadoop fs -count /dwbi/basicDw/drivinglicense/part-m*

8、测试集群连接出现错误: noclassdeffouderror could not initlatize class org.apache.hadoop.hdfs.server.namenode.namenode

解决办法:

运行:

find /usr/lib -name "*.jar" -exec grep -Hsli 'org/apache/hadoop/hdfs/server/namenode/Namenode'  {} \;

然后版jar包放到 hdp47/lib下


华青莲日常点滴,方便自己成长他人!

推荐 3
本文由 华青莲 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册