利用oozie,执行sqoopaction将DB2中的数据导入到hive分区表中

测试:利用oozie,执行sqoop action将DB2中的数据导入到hive分区表中。

10年积累的成都网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有泰顺免费网站建设让你可以放心的选择与我们合作。

 

需要注意的地方:

1,要添加hive.metastore.uris这个参数。否则无法将数据加载到hive表中。并且,如果一个xml文本中有多个这种操作的话,每个action中都需要配置这个参数。

2,要注意XML中的转义字符问题。这里我的sql中,就有一个小于号需要重写,否则执行后会说sql语句不对。

3,因为是分区表,按照每日分区,所以要从系统获取系统时间。这里没找到其他的可执行的方法,就比较麻烦的写成了这个样子:${replaceAll(timestamp(),"T.{0,}","")}

4,还要注意xmlns的版本问题。这个时候,多试几个就好了。


workflow.xml

   

   

       

       

       

        hive.metastore.uris

        thrift://192.168.20.39:9083

       

       

            import

            --connect

            jdbc:db2://192.168.20.236:50001/sample

            --username

            db2inst1

            --password

            zheshimima

            --query

            select projno,projname,prstdate from project where prstdate < date(current date)-1 day and $CONDITIONS

            --fields-terminated-by

            "\t"

            --hive-import

            --target-dir

            /qpf/target-dir/

            --hive-table

            ceshiku.tb_db2test

            --null-string

            "\\N"

            --null-non-string

            "\\N"

            --hive-partition-key

            shijian

            --hive-partition-value

            "${replaceAll(timestamp(),"T.{0,}","")}"

            -m

            1    

       

       

       

   

   

        Action failed,step01 error message[${wf:errorMessage(wf:lastErrorNode())}]

     

   


文章标题:利用oozie,执行sqoopaction将DB2中的数据导入到hive分区表中
网站地址:http://ybzwz.com/article/gepcog.html