時(shí)間:2024-02-28 13:28作者:下載吧人氣:24
最近想把服務(wù)器上的測(cè)試數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)到我本地的電腦上,本地電腦數(shù)據(jù)庫(kù)是安裝在windows系統(tǒng)下
之前沒使用過pgsql,網(wǎng)上找了點(diǎn)資料,記入如下:
pg_dump -U 用戶名 數(shù)據(jù)庫(kù)名 (-t 表名)> 數(shù)據(jù)存放路徑
然后執(zhí)行這條命令:
-d:數(shù)據(jù)庫(kù)名
-h:地址
-p:端口
-u:用戶名
-f:sql文件路徑
之后輸入口令:
這樣就可以了!
補(bǔ)充:Sqoop從PostgreSQL導(dǎo)入Hive遇到的兩個(gè)問題
昨天嘗試使用Sqoop從PostgreSQL向Hive中遷移數(shù)據(jù),過程中遇到兩個(gè)問題,在此記錄一下,以備以后遇到類似問題可以快速找到解決方案。
問題1:當(dāng)PostgreSQL表中有json類型時(shí)Sqoop命令報(bào)以下錯(cuò)誤
No Java type for SQL type 1111 for
column voting_info
解決方案:sqoop命令中添加以下類型映射
–map-column-hive voting_info=String –map-column-java voting_info=String
問題2:如何指定PostgreSQL中指定schema名稱
PostgreSQL中的對(duì)象屬于三層模型,即database->schema->table。PostgreSQL中一般包含多個(gè)database,每個(gè)database包含多個(gè)schema,schema下包含多個(gè)表。因此使用sqoop抽取數(shù)據(jù)時(shí)有時(shí)需要指定表是屬于哪個(gè)schema。
解決方案:sqoop命令中添加以下類型映射
— –schema szyd
下面給出一個(gè)常用的從PostgreSQL往Hive導(dǎo)數(shù)據(jù)的sqoop-import腳本,僅供參考:
sqoop-import –connect jdbc:postgresql://$PG_HOST:$PG_PORT/$PG_SID
–username $PG_UNAME –password $PG_PWD –table $TABLE_NAME
–hive-import –hive-table $TABLE_NAME –hive-overwrite
–null-string ‘\N’ –null-non-string ‘\N’ –hive-drop-import-delims
-m 1 –map-column-hive voting_info=String –map-column-java voting_info=String — –schema $SCHEMA_NAME
網(wǎng)友評(píng)論