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