跨Hadoop平台Hive表export和import迁移
生活随笔
收集整理的這篇文章主要介紹了
跨Hadoop平台Hive表export和import迁移
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
場(chǎng)景:兩個(gè)Hadoop平臺(tái)集群之間Hive表遷移。
思路:Hive表元數(shù)據(jù)和文件數(shù)據(jù)export到HDFS文件,通過Distcp將HDFS遷移到另一個(gè)集群的HDFS文件,再通過import在新Hive中建表;
1、原平臺(tái):Hive表元數(shù)據(jù)和文件數(shù)據(jù)到export到平臺(tái)HDFS文件
? ?2)可以看到hdfs輸出目錄下有元數(shù)據(jù)和文件數(shù)據(jù);
? ? ? 可看到文件路徑是:hdfs://nameservice-ha/user/hive/warehouse/conf_adsl_app
? ? ? 在新平臺(tái)下不存在/user/hive/warehouse/conf_adsl_app目錄,import時(shí)會(huì)自動(dòng)生成相應(yīng)目錄。
2、用distcp從原平臺(tái)將/tmp/hive-export/conf_adsl_app/下數(shù)據(jù)遷移到新平臺(tái)。
? ?注意下面用的distcp語法涉及到從非安全集群遷移到安全集群(kerberos)的操作。
? ?在新平臺(tái)執(zhí)行命令:
3、新平臺(tái):從HDFS文件import到Hive生成新表
? ?1)hive下執(zhí)行命令: #import table new_conf_adsl_app from '/flume/his/conf_adsl_app';2)可以看到hive上新生成了new_conf_adsl_app表
? ? ?LOCATION
? ? ?'hdfs://c9/apps/hive/warehouse/cwh.db/new_conf_adsl_app'
? ?3)查看location目錄下hive表對(duì)應(yīng)的文件
思路:Hive表元數(shù)據(jù)和文件數(shù)據(jù)export到HDFS文件,通過Distcp將HDFS遷移到另一個(gè)集群的HDFS文件,再通過import在新Hive中建表;
1、原平臺(tái):Hive表元數(shù)據(jù)和文件數(shù)據(jù)到export到平臺(tái)HDFS文件
? ?1)hive下執(zhí)行如下命令:
#export table conf_adsl_app to '/tmp/hive-export/conf_adsl_app';conf_adsl_app表的外部存儲(chǔ)路徑:hdfs://nameservice-ha/user/hive/warehouse/conf_adsl_app? ?2)可以看到hdfs輸出目錄下有元數(shù)據(jù)和文件數(shù)據(jù);
??
hadoop fs -ls /tmp/hive-export/conf_adsl_app/Found 2 items-rwxr-xr-x 3 hdfs supergroup 1309 2017-03-16 08:03 /tmp/hive-export/conf_adsl_app/_metadatadrwxr-xr-x - hdfs supergroup 0 2017-03-16 08:03 /tmp/hive-export/conf_adsl_app/data? 3)3)查看hadoop fs -cat /tmp/hive-export/conf_adsl_app/_metadata元文件? ? ? 可看到文件路徑是:hdfs://nameservice-ha/user/hive/warehouse/conf_adsl_app
? ? ? 在新平臺(tái)下不存在/user/hive/warehouse/conf_adsl_app目錄,import時(shí)會(huì)自動(dòng)生成相應(yīng)目錄。
2、用distcp從原平臺(tái)將/tmp/hive-export/conf_adsl_app/下數(shù)據(jù)遷移到新平臺(tái)。
? ?注意下面用的distcp語法涉及到從非安全集群遷移到安全集群(kerberos)的操作。
? ?在新平臺(tái)執(zhí)行命令:
? ?
hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true -D dfs.checksum.type=CRC32 webhdfs://namenode ip:50070/tmp/hive-export/conf_adsl_app/ /flume/his/可以看到新平臺(tái)/flume/his目錄下有文件:
3、新平臺(tái):從HDFS文件import到Hive生成新表
? ?1)hive下執(zhí)行命令: #import table new_conf_adsl_app from '/flume/his/conf_adsl_app';2)可以看到hive上新生成了new_conf_adsl_app表
? ? ?LOCATION
? ? ?'hdfs://c9/apps/hive/warehouse/cwh.db/new_conf_adsl_app'
? ?3)查看location目錄下hive表對(duì)應(yīng)的文件
? ??
hadoop fs -ls /apps/hive/warehouse/cwh.db/new_conf_adsl_app Found 1 items -rwxrwxrwx 3 etl hdfs 18227 2017-03-16 08:51 /apps/hive/warehouse/cwh.db/new_conf_adsl_app/adsl_apps_20130829.txt自此跨平臺(tái)Hive表遷移完成。
總結(jié)
以上是生活随笔為你收集整理的跨Hadoop平台Hive表export和import迁移的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【正一专栏】陪伴
- 下一篇: DES加密解密算法Java实现