Sap Hana第一篇:通过sqoop实现hdfs/hive表数据迁移


  Hana是德国sap公司2011年推出来的高性能内存数据库。因为采用了列式存储和内存模型,所以性能相当不错,10亿数据的查询也能做到毫秒级响应。不过这个数据库相当的贵,据说一年要上百万美金,普通的小公司可hold不住。所以目前在国内,使用hana的公司也屈指可数。甚至,很多搞开发的小哥哥小姐姐可能都只是听说过。

 

  既然Hana性能这么好,那当然要用来处理“大数据”了,不然怎么体现出他的优势呢。所以经常需要从hadoop平台上将数据导过来,部分不常用的hana表也可以在hdfs上备份存放。

 

  哇,废话好多。。。下面就跟大家分享一下如何用sqoop实现hana表和hdfs文件/hive表的数据互导。

 

  操作步骤如下:

  1)首先你当然需要一个装了hive的hadoop集群,一个装了hana服务端程序的服务器,一台装了本地hana studio的客户端电脑哈哈哈

  2)将hana的驱动jar包(ngdbc.jar)放入sqoop的lib目录下。

  3.1)从hdfs导入到hana:

    先要在hana上建好对应的表格,注意字段类型和长度一定要合格,不然后面会job失败,数据只能导入一部分。

    然后集群上执行sqoop命令:

    sqoop export \

    --batch \

    --connect "jdbc:sap://xx.xx.xx.xx:3xx15/" \

    --driver com.sap.db.jdbc.Driver \

    --username "YourHanaUserName" \

    --password "YourHanaPassword" \

    --table "schemaName.tableName" \

    --export-dir "/xxx/xxx" \

    --input-fields-terminated-by "\001" \

    --input-null-string NULL

    然后就可以在hana studio查看数据咯

 

  3.2 从hana到hdfs

    集群执行sqoop命令:

    sqoop import \

    --connect "jdbc:sap://xx.xx.xx.xx:3xx15/" \

    --driver com.sap.db.jdbc.Driver \

    --username "YourHanaUserName" \

    --password "YourHanaPassword" \

    --table "schemaName.tableName" \

    --delete-target-dir \

    --target-dir "/xxx/xx" \

    --query "select * from schemaName.tableName where 1=1 and $CONDITIONS" \

    --m 4

  

  如果想要在导入数据到hdfs的同时建立hive表,命令如下:

    sqoop import \

    --connect "jdbc:sap://xx.xx.xx.xx:3xx15/" \

    --driver com.sap.db.jdbc.Driver \

    --username "YourHanaUserName" \

    --password "YourHanaPassword" \

    --table "schemaName.tableName" \

    --delete-target-dir \

    --target-dir "/xxx/xx" \

    --query "select * from schemaName.tableName where 1=1 and $CONDITIONS" \

    --hive-import \

    --hive-table hiveDatabaseName.hiveTableName \

    --m 4

  注意:sqoop命令可以直接创建hive表,但是表所在的数据库需要提前创建好。

  

  转载请注明链接和出处,谢谢。

  欢迎对Hana感兴趣的童鞋一起来交流。

  

    

    


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM