成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > sqoop 實(shí)現(xiàn)將postgresql表導(dǎo)入hive表

sqoop 實(shí)現(xiàn)將postgresql表導(dǎo)入hive表

熱門(mén)標(biāo)簽:漯河外呼電話系統(tǒng) 美容工作室地圖標(biāo)注 合肥公司外呼系統(tǒng)運(yùn)營(yíng)商 地圖標(biāo)注和圖片名稱的區(qū)別 打電話智能電銷機(jī)器人授權(quán) 辦公外呼電話系統(tǒng) 海豐有多少商家沒(méi)有地圖標(biāo)注 重慶自動(dòng)外呼系統(tǒng)定制 外呼調(diào)研系統(tǒng)

使用sqoop導(dǎo)入數(shù)據(jù)至hive常用語(yǔ)句

直接導(dǎo)入hive表

sqoop import 
--connect jdbc:postgresql://ip/db_name
--username user_name 
--table table_name 
--hive-import -m 5 

內(nèi)部執(zhí)行實(shí)際分三部,1.將數(shù)據(jù)導(dǎo)入hdfs(可在hdfs上找到相應(yīng)目錄),2.創(chuàng)建hive表名相同的表,3,將hdfs上數(shù)據(jù)傳入hive表中

sqoop根據(jù)postgresql表創(chuàng)建hive表

sqoop create-hive-table 
--connect jdbc:postgresql://ip/db_name 
--username user_name 
--table table_name 
--hive-table hive_table_name
( --hive-partition-key partition_name若需要分區(qū)則加入分區(qū)名稱) 

導(dǎo)入hive已經(jīng)創(chuàng)建好的表中

sqoop import 
--connect jdbc:postgresql://ip/db_name 
--username user_name 
--table table_name 
--hive-import -m 5 
--hive-table hive_table_name 
(--hive-partition-key partition_name --hive-partition-value partititon_value);

使用query導(dǎo)入hive表

sqoop import 
--connect jdbc:postgresql://ip/db_name 
--username user_name 
--query "select ,* from retail_tb_order where \$CONDITIONS" 
--hive-import -m 5 
--hive-table hive_table_name 
(--hive-partition-key partition_name --hive-partition-value partititon_value); 

注意:$CONDITIONS條件必須有,query子句若用雙引號(hào),則$CONDITIONS需要使用\轉(zhuǎn)義,若使用單引號(hào),則不需要轉(zhuǎn)義。

遇到問(wèn)題

若需要在導(dǎo)入hive數(shù)據(jù)表的前提下,再添加在原有關(guān)系型數(shù)據(jù)庫(kù)中沒(méi)有的一列數(shù)據(jù)如何解決。

首先,我們想到的是添加一個(gè)partition可很方便的添加“一列”數(shù)據(jù),partition的使用很類似普通一列,常用的sql執(zhí)行是沒(méi)有問(wèn)題的。

其次,想到在query的sql中添加一個(gè)常量或者一個(gè)變量,例如:”select 'hello',* from retail_tb_order where \$CONDITIONS“,執(zhí)行后會(huì)報(bào)異常

12/08/28 14:41:31 INFO tool.CodeGenTool: Beginning code generation 
12/08/28 14:41:31 INFO manager.SqlManager: Executing SQL statement: select 'hello',* from retail_tb_order where (1 = 0) 
12/08/28 14:41:32 INFO manager.SqlManager: Executing SQL statement: select 'hello',* from retail_tb_order where (1 = 0) 
12/08/28 14:41:32 ERROR orm.ClassWriter: Cannot resolve SQL type 1111 
12/08/28 14:41:32 ERROR orm.ClassWriter: Cannot resolve SQL type 1111 
12/08/28 14:41:32 ERROR orm.ClassWriter: No Java type for SQL type 1111 for column _column_ 
12/08/28 14:41:32 ERROR orm.ClassWriter: No Java type for SQL type 1111 for column _column_ 
12/08/28 14:41:32 ERROR orm.ClassWriter: No Java type for SQL type 1111 for column _column_ 
12/08/28 14:41:32 ERROR orm.ClassWriter: No Java type for SQL type 1111 for column _column_ 
12/08/28 14:41:32 ERROR orm.ClassWriter: No Java type for SQL type 1111 for column _column_ 
12/08/28 14:41:32 ERROR orm.ClassWriter: No Java type for SQL type 1111 for column _column_ 
12/08/28 14:41:32 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException 
java.lang.NullPointerException 
 at org.apache.sqoop.orm.ClassWriter.parseNullVal(ClassWriter.java:900) 
 at org.apache.sqoop.orm.ClassWriter.parseColumn(ClassWriter.java:925) 
 at org.apache.sqoop.orm.ClassWriter.generateParser(ClassWriter.java:999) 
 at org.apache.sqoop.orm.ClassWriter.generateClassForColumns(ClassWriter.java:1314) 
 at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1138) 
 at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82) 
 at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:367) 
 at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:453) 
 at org.apache.sqoop.Sqoop.run(Sqoop.java:145) 
 at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 
 at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181) 
 at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220) 
 at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229) 
 at org.apache.sqoop.Sqoop.main(Sqoop.java:238) 
 at com.cloudera.sqoop.Sqoop.main(Sqoop.java:57) 

該問(wèn)題出現(xiàn)原因是sqoop ClassWriter類會(huì)在postgresql表中解析sql中的所有列,當(dāng)解析常量'hello'時(shí),數(shù)據(jù)庫(kù)沒(méi)有該列也就找不到相應(yīng)的數(shù)據(jù)類型。

若要解決該問(wèn)題應(yīng)該需修改ClassWriter源碼。

補(bǔ)充:使用Sqoop,最終導(dǎo)入到hive中的數(shù)據(jù)和原數(shù)據(jù)庫(kù)中數(shù)據(jù)不一致解決辦法

Sqoop是一款開(kāi)源的工具,主要用于在Hadoop(Hive)與傳統(tǒng)的數(shù)據(jù)庫(kù)(mysql、postgresql...)間進(jìn)行數(shù)據(jù)的傳遞,可以將一個(gè)關(guān)系型數(shù)據(jù)庫(kù)(例如 : MySQL ,Oracle ,Postgres等)中的數(shù)據(jù)導(dǎo)進(jìn)到Hadoop的HDFS中,也可以將HDFS的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫(kù)中。

1.問(wèn)題背景  

使用Sqoop把oracle數(shù)據(jù)庫(kù)中的一張表,這里假定為student,當(dāng)中的數(shù)據(jù)導(dǎo)入到hdfs中,然后再創(chuàng)建hive的external表,location到剛才保存到hdfs中數(shù)據(jù)的位置。最后發(fā)現(xiàn)對(duì)hive中表特定條件進(jìn)行count時(shí)結(jié)果和oracle中結(jié)果不一致。

1.1 導(dǎo)入數(shù)據(jù)到hdfs中/user/hadoop/student路徑下

sqoop import --connect "jdbc:oracle:thin:@//localhost:1521/student" --password "***" --username "***" --query "select * from student where name='zhangsan' and class_id='003' and \$CONDITIONS" --target-dir "/user/hadoop/student" --verbose -m 1

這個(gè)時(shí)候hdfs上/user/hadoop/student下就保存了從oracle上導(dǎo)入的表數(shù)據(jù)。

表數(shù)據(jù)在hdfs上是如何存儲(chǔ)的呢?注意這一點(diǎn),造成了最后產(chǎn)生結(jié)果不一致的錯(cuò)誤。

我們來(lái)看一看在hdfs上數(shù)據(jù)是如何存儲(chǔ)的。我們運(yùn)行hadoop fs -cat /user/hadoop/student/part-m-00000,可以看到原來(lái)字段與字段之間都用‘,'分隔開(kāi),這是sqoop默認(rèn)的,這時(shí)候,如果一個(gè)字段值當(dāng)中包含‘,',再向hive中插入數(shù)據(jù)時(shí)分隔就會(huì)出錯(cuò)。因?yàn)閔ive也是用‘,'分隔的。

2.分析問(wèn)題  

對(duì)hive中表select count(*) from student的結(jié)果和oracle中select count(*) from studeng的結(jié)果進(jìn)行比較,發(fā)現(xiàn)條數(shù)是一樣的,說(shuō)明沒(méi)有少load數(shù)據(jù)。那為什么對(duì)特定條件結(jié)果就會(huì)不一致,而且hive中條數(shù)比oracle中少。也就是同時(shí)運(yùn)行select count(*) from student where class_id='003'

最后,發(fā)現(xiàn)hive用逗號(hào)分隔數(shù)據(jù)時(shí),有幾條數(shù)據(jù)字段內(nèi)值包含有逗號(hào),所以字段與值對(duì)應(yīng)起來(lái)就亂套了,所以得不到正確結(jié)果。

我們建議用‘\001'來(lái)進(jìn)行sqoop 導(dǎo)入數(shù)據(jù)時(shí)的 分割。也就是--fields-terminated-by char>參數(shù)。

參考:http://sqoop.apache.org/docs/1.4.2/SqoopUserGuide.html#_large_objects

最后優(yōu)化后的sqoop語(yǔ)句為:

sqoop import --connect "jdbc:oracle:thin:@//localhost:1521/student" --password "***" --username "***" --query "select * from student where name='zhangsan' and class_id='003' and \$CONDITIONS" --target-dir "/user/hadoop/student" --fields-terminated-by "\001" --verbose -m 1

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 在Hadoop集群環(huán)境中為MySQL安裝配置Sqoop的教程
  • sqoop export導(dǎo)出 map100% reduce0% 卡住的多種原因及解決
  • 解決sqoop從postgresql拉數(shù)據(jù),報(bào)錯(cuò)TCP/IP連接的問(wèn)題
  • sqoop讀取postgresql數(shù)據(jù)庫(kù)表格導(dǎo)入到hdfs中的實(shí)現(xiàn)
  • 解決sqoop import 導(dǎo)入到hive后數(shù)據(jù)量變多的問(wèn)題
  • 使用shell腳本執(zhí)行hive、sqoop命令的方法
  • Sqoop的安裝與使用詳細(xì)教程

標(biāo)簽:衡陽(yáng) 來(lái)賓 蚌埠 晉城 烏海 錦州 珠海 株洲

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sqoop 實(shí)現(xiàn)將postgresql表導(dǎo)入hive表》,本文關(guān)鍵詞  sqoop,實(shí),現(xiàn)將,postgresql,表,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《sqoop 實(shí)現(xiàn)將postgresql表導(dǎo)入hive表》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于sqoop 實(shí)現(xiàn)將postgresql表導(dǎo)入hive表的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产精彩视频在线观看| japanese在线观看| 青青在线视频一区二区三区| 免费99精品国产自在在线| 日本不卡一区| 妺妺窝人体色www聚色窝仙踪| 给我看免费高清在线观看| 99久久亚洲一区二区三区青草| 亚洲人被黑人高潮完整版| 国产另类在线| 蜜芽视频在线观看| 久久精品国产免费| 日韩小视频在线观看| 91精品国产aⅴ一区二区| 国产三区在线成人av| 亚洲欧美精品一区| 日韩午夜精品视频| 国产精品久久久久久久蜜臀| 爱搞国产精品| 精品久久久久久久久久久院品网| 欧美18—20岁hd第一次| 国产精品刘玥久久一区| 黄色美女久久久| bdsm精品捆绑chinese女| 91久久爱成人| 99热成人精品热久久66| 久久网站最新地址| 另类中文字幕网| 波多野结衣在线一区| 亚洲欧美精品久久| 欧美午夜激情小视频| 99久久国产综合精品色伊| 中文字幕www| 国产呦萝稀缺另类资源| 国产在线精选视频| 初尝黑人巨炮波多野结衣电影| 成人av手机在线| 色综合天天综合网中文字幕| 亚洲欧美中文在线视频| 女生影院久久| av毛片在线免费| www.国产精品一二区| 超碰97在线免费观看| 偷拍自拍亚洲| 最新版sss视频在线| 欧美激情1区2区| 久久精品国产精品亚洲色婷婷| 国产999在线观看| 搡的我好爽在线观看免费视频| 在线理论视频| 天堂男人av| 99成人在线视频| 久久99精品波多结衣一区| 黄色av免费观看| wwwxxx国产| h视频在线免费| 中文视频一区视频二区视频三区| 久久天堂成人| 一区二区免费播放| 亚洲专区一二三| 成人激情综合| 天堂√8在线中文| 精品久久不卡| 成人自拍视频网站| 成人综合视频在线| 欧美xxxx黑人又粗又长精品| 欧美在线视频二区| 黄色一级免费视频| 国语自产精品视频在线看抢先版结局| 国产精品久久久久久久久免费桃花| 亚洲欧美在线不卡| 欧美xxxx性| 开心丁香婷婷深爱五月| 7777精品伊人久久久大香线蕉经典版下载| 日韩欧美在线视频日韩欧美在线视频| 欧美男人操女人视频| 波多野结衣绝顶大高潮| 性欧美videohd高精| 91在线公开视频| 色综合久久久久久久| 亚洲日韩第九十九页| 在线观看免费视频a| 国产精品久久久久久久久电影网| av在线天堂播放| 国产又爽又黄网站亚洲视频123| 九一久久久久久| 日韩在线 中文字幕| 免费国产h视频在线观看86| 日韩欧美亚洲一区二区三区| 国产91在线高潮白浆在线观看| 亚洲高清自拍| 精产国产伦理一二三区| 免费福利视频网站| 欧美日韩在线一区二区| 久久影视三级福利片| 内射国产内射夫妻免费频道| 色噜噜狠狠狠综合曰曰曰88av| 国产在线免费观看| 一呦二呦三呦国产精品| 真实国产乱子伦对白在线| 亚洲精品视频一区二区| 欧美最近摘花xxxx摘花| 国产精品美女视频| 国产精品高潮呻吟久久av无限| 国内精品美女av在线播放| 青青草国产精品一区二区| 奇米狠狠一区二区三区| www.97| 99re免费视频精品全部| 99精品欧美一区二区三区| 粗暴蹂躏中文一区二区三区| 黑人巨大精品欧美一区二区奶水| 亚洲精品免费播放| 香蕉视频在线网站| 日本美女在线中文版| 国产成人免费网站| 亚洲国产国产亚洲一二三| 久久99精品久久久久久野外| 日韩一区二区三区精品| 麻豆国产在线播放| 24小时成人在线视频| 久久精品日产第一区二区三区| eeuss影院www影院| 国产精品三区www17con| 高清在线成人网| 91精品国产调教在线观看| 免费试看一区| 日本中文字幕片| 六月婷婷久久| 国产美女撒尿一区二区| 欧洲熟妇的性久久久久久| 国产色a在线| 欧美综合一区第一页| 国产一区在线免费观看| 亚洲精品乱码日韩| 欧美群妇大交群中文字幕| 国产精品免费视频网站| 欧美久久久久久蜜桃| 国产精品天堂蜜av在线播放| 欧美日韩精品一区二区在线播放| 亚洲免费久久| 成人无码av片在线观看| 亚洲在线免费播放| 日韩精品国产一区| 国语自产精品视频在线看抢先版结局| 欧美成人高清视频| 国产午夜无码视频在线观看| 久久国产波多野结衣| 国产欧美午夜| 久久久精彩视频| 天堂中文资源在线| 老熟妇高潮一区二区高清视频| 久久久国产欧美| 激情偷乱视频一区二区三区| 91九色鹿精品国产综合久久香蕉| 精品福利网址导航| 久久精品国产亚洲精品| 国产精品区一区二区三| 免费电影视频在线看| 午夜日韩福利| 国产福利资源在线| 国产伦精品一区二区三区视频网站| 日韩视频免费在线| 超碰成人福利网| 小舞被吸乳羞羞网站视频| 污视频网站免费观看| 欲香欲色天天天综合和网| 新的色悠悠久久久| 色域天天综合网| 欧美性猛交xxxx偷拍洗澡| 疯狂揉花蒂控制高潮h| 国模杨依粉嫩蝴蝶150p| 欧美激情 亚洲a∨综合| 国产精品精品一区二区三区午夜版| 午夜影院观看视频免费| 青青草国产成人99久久| 蜜臀久久99精品久久久久久宅男| 99国产精品久久久久久久| 91香蕉视频免费看| 国产99久久精品一区二区 夜夜躁日日躁| 男女精品网站| 香蕉视频免费看| 欧美xxxx黑人又粗又长精品| 日韩午夜免费| 天码人妻一区二区三区在线看| 国产在线观看免费av| 国产一区二区三区在线播放免费观看| www激情久久| 午夜精品久久久久久久99热| 一本到一区二区三区| 成人影院天天5g天天爽无毒影院| 欧美激情久久久久久| 在线观看免费国产成人软件| 337p日本欧洲亚洲大胆色噜噜| 欧美午夜寂寞| 韩国女主播一区二区三区| 国产精品久久亚洲7777| 国产一二区在线观看| 粉嫩高清一区二区三区精品视频| 国产麻豆精品theporn| 免费黄网在线观看| 日本高清视频网站www| 日韩精品有码在线观看| 久久99最新地址| 日本少妇一区二区三区| 亚洲国产日韩综合久久精品| 久久精品国产一区二区三区肥胖| 欧美日本一道| 国产成人精品a视频| 爆乳熟妇一区二区三区霸乳| 9久久9毛片又大又硬又粗| 午夜剧场免费看| 久久香蕉国产线看观看av| 欧美成人中文| 精品久久久噜噜噜噜久久图片| 国产麻豆精品视频| 天天射天天操天天干| 永久久久久久久| 久久悠悠精品综合网| 综合国产在线观看| 国产精品69xx| 欧美三级电影网址| 国产精品玖玖玖| 亚洲色图欧洲色图| 日韩精品视频在线观看一区二区三区| 日本福利午夜视频在线| 成人区精品一区二区婷婷| 久久国产精品久久久久久电车| 国产亚洲成av人片在线观黄桃| 国产一区精品二区| 久久久影院官网| 99re6在线精品视频免费播放| 一个人看的www视频免费观看| 女同性一区二区三区人了人一| 一区二区三区**美女毛片| 久久 天天综合| 久久亚洲精品一区二区| 亚洲国产中文字幕在线视频综合| 亚洲免费精品视频| 亚洲日本欧美天堂| 亚洲免费影视| 日韩精品一区二区在线视频| 美国十次av导航亚洲入口| 69av亚洲| 99久久99久久精品国产片桃花| 日本高清视频在线观看| 久久999免费视频| 日韩影视高清在线观看| 国产野外作爱视频播放| 日本福利视频导航| 午夜影院免费| 91精品国产九九九久久久亚洲| 成人精品一区二区不卡视频| 亚洲手机在线| 中文字幕一区二区三区不卡在线| 五级黄高潮片90分钟视频| 天天干天天骑| 亚洲色图国产精品| 免费久久一级欧美特大黄| 久久精品成人欧美大片古装| 性活交片大全免费看| 亚洲午夜未满十八勿入免费观看全集| 一区二区三区四区乱视频| 久热国产精品视频一区二区三区| 91香蕉视频免费在线观看| 久久电影一区| 一本高清dvd不卡在线观看| 亚洲中文字幕一区| 欧美蜜桃一区二区三区| 青青草成人在线观看| 免费网站黄在线观看| 日本精品久久久久久久久久| 亚洲精品电影网站| 国产精品一级黄| 国产永久免费观看| 国产在线视频在线观看| 欧美美女网站色| 热久久99这里有精品| 日韩欧美国产综合在线一区二区三区| 亚洲高清成人影院| 精品国产精品自拍| 男人女人靠逼视频| 日韩欧美一区二区在线视频| 国产综合香蕉五月婷在线| 欧美激情精品久久久久久小说| 欧美国产日产图区| 亚洲高清av一区二区三区| 好吊色视频一区二区| av资源种子在线观看| 丰满人妻中伦妇伦精品app| 99精品99久久久久久宅男| 国产精品白浆流出视频| 久久天天狠狠| 亚洲字幕成人中文在线观看| 精品人妻一区二区三区含羞草| 韩日av一区二区| 免费a级人成a大片在线观看| 黄在线观看网站| 成人福利片网站| 亚洲乱码中文字幕久久孕妇黑人| 超免费在线视频| 精品国产一区二区三区久久久狼牙| 成人性生交大免费看| 91色乱码一区二区三区| 亚洲第一第二区| 亚洲欧美日韩第一页| 欧美.www| 欧美日韩国产精品一区二区| www.天天色| 在线播放日韩专区| 欧美精品99久久久| 亚洲激情图片| 精品日本一区二区三区在线观看| 久久99精品久久久久久动态图| 免费在线成人| 污污污污污污www网站免费| 中文字幕高清在线免费播放| 国产一区调教| 视频一区在线免费看| 一区二区黄色片| 中文日本高清免费| 黄页网站视频在线观看| 涩涩视频免费网站| 全彩无遮挡全彩口工漫画h#| 777久久久精品一区二区三区| 亚洲国产视频在线| 欧美野外猛男的大粗鳮| 视频一区免费在线观看|