zoukankan      html  css  js  c++  java
  • 可用于Hadoop下的ETL工具——Kettle

    看大家分享了好多hadoop相关的一些内容,我为大家介绍一款ETL工具——Kettle。
        Kettle是pentaho公司开源的一款ETL工具,跟hadoop一样,也是java实现,其目的就是做数据整合中时数据的抽取(Extract)、转换(Transformat)、加载(Load)工作。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。Transformation工作原理上采用并发流式处理,可采用集群分布式处理。
        像Eclipse一样,Kettle也是采用插件模式实现,任何个人或团体可以向其贡献插件代码;目前kettle支持很多中数据源,如:大多数市面上的数据库、文本文件、Excel、XML、Json文件、等等,能够对抽取的数据做排序、分组、合并、行转列、列转行、字段合并和分隔、不同数据源间的连接(如数据库表那样)、数据库文件的导入导出等操作。另外还支持Hadoop上文件的读取和写入,以及HBase的输入输出;其中的TableInput组件还支持Hive数据的读写,真是一款数据整合中不可多得的利器。
        我目前工作中在使用,所以在这里向大家推荐了解;如果有使用的同学,欢迎多多交流!
        感兴趣的朋友可以了解了解。地址:kettle.pentaho.com

    以下是在transfrmation中读取hdfs中文件的步骤:
    1.拖拽“Hadoop File Input”到Transformation的设计界面
    2.双击刚才拖拽的控件或者右键选编辑,进入到“Hadoop File Input”的配置窗口
    3.点击“浏览(Browse)”按钮,进入到连接配置窗口
    4.输入hdfs的地址和端口号
    5.点击“连接(Connect)”按钮, 这时你就会看到下边的浏览部分就会进入到你的hdfs文件系统
    之后进入要读取的目录,选择要读取的文件即可。如果是读取多文件可以用通配符表示。

     


    6.配置文件内容
    ①选择文件类型
    ②设置字段间的分隔符
    ③字段是否有封闭字符,有的话需要填写用的封闭符是什么,如默认是双引号;没有的话就可以去掉
    ④是否包含文件头,如包含,第几行是
    ⑤文件格式,Unix or Windows?
    ⑥设置文件字符集。否则会有乱码出现

    7.设置要读取的字段。按文本中列序确定,从左至右;若读取全部,可以不填写字段(前提要有列头,即上一步说到的文件头)。
    输出到hdfs也一样,选择“Hadoop File Output”即可。配置类似,我就不赘述了。 想练习的话,可以从hdfs读取一个文件,并输入到hdfs的其他目录

  • 相关阅读:
    基于jQuery的鼠标悬停时放大图片的效果制作
    让document.write的广告无阻塞的加载
    浅谈DOM事件的优化
    前端自动化构建和发布系统的设计
    parseQueryString
    元素缩放
    apply用法
    3D旋转
    CSS居中的多种方法
    System Center Configuration Manager 2016 域准备篇(Part2)
  • 原文地址:https://www.cnblogs.com/duanxz/p/4619241.html
Copyright © 2011-2022 走看看