• ETL 循环导入 平面文件


    http://blog.csdn.net/zlp321002/article/details/3413365

    ETL设计之-Foreach 循环容器

    应用场景:

        批量导入某一文件夹下的所有文件.就可以用foreach循环容器里面的文件枚举。

       

    要求:需要把D:/Temp目录下所有csv导入某一个表。如下图:

     

    步骤:

    1、在控制流中拖拽一个Foreach循环容器。如下图:

    2、配置Foreach循环容器。

          a、编辑Foreach循环容器,配置集合方式和参数参考如下:

         说明:选择枚举:Foreach 文件枚举器

                     选择文件夹: D:/Temp

          a、编辑Foreach循环容器,配置变量映射,如下图:

          

       需要新建一个Foreach循环变量,未传递给平面文件的路径。

    3、配置平面文件入库。

         a、在控制流中拖拽一个数据流任务在Foreach循环容器中,如下图:

                       

            b、配置数据流任务的平面文件。双击控制流,进入数据流。

                  1)选择平面文件管理器,如下图:

                  

                  2)配置OLDB目标,环境如下图:

     

    4、执行该包,如下图:

    5、包成功导入完成,查看数据库数据:

     

     

     

    导入数据中间会出现 字段被截断的错误,请参照下面的方法解决。

    http://bbs.csdn.net/topics/250056337

    1 故障分析: 
    理由很简单,默认的平文件,每个字段的宽度是50, 
    如果你的平面数据源的字段超过这个,则会出现上面这个错误。 

    2 解决方案:

    也很简单,在数据源的高级里面(也就是文本的高级设置),手工设定每个字段允许的最大宽度就行了.
    而不是设置数据库表的这个字段长度。

  • 相关阅读:
    openstack常见问题
    30 个 Openstack 经典面试问题和解答
    linux系统内存爆满的解决办法!~
    iostat详解
    线上应用故障排查之一:高CPU占用
    对OpenStack运维架构的总结(转)
    zabbix基本监控各指标简解
    创建 OpenStack云主机
    centos7系统中忘记了root管理员账号密码的解决方式(转)
    MySQL高可用架构之MHA
  • 原文地址:https://www.cnblogs.com/ifreesoft/p/3984020.html
Copyright © 2020-2023  润新知