CDH6.3.2,不互通的cdh平台互导hive数据

1、先导出所有建表语句,在源CDH服务器命令行输入下面命令,该库下所有建表语句保存至hive目录中的tables.sql文件中,不知道具体路径可以全局搜索一下,拿到源库hive的建表语句后,稍微处理一下,去目标库把表建好。

复制代码
hive -e "use database; show tables;" | xargs -I '{}' sh -c 'hive -e "use database; show create table '{}';"' > tables.sql

附加:我自己需要导很多个库,所以写了一行python代码可以批量生成用

复制代码
database = default
cmdstr = '''hive -e "use ''' + database + '''; show tables;" | xargs -I '{}' sh -c 'hive -e "use ''' + database + '''; show create table '{}';"' > ''' + database + '''.sql'''

2、然后再在源CDH服务器命令行输入下面命令,命令的意思就是查询后保存到data文件中

复制代码
hive -e " select * from database.table;" > data.txt

附加:

1)我用代码生成了一批上面的命令,直接批量复制到终端里面,结果有的执行了,有的没执行,查了下原因,是因为执行的时候会进如hive里面,终端反应比较慢,有一部分字符被粘到hive里面了,所以后来采用了shell脚本的形式。(有需要的可以参考)

复制代码
#!/bin/bash
result=`hive -e " select * from default.test;" > selectandget1.txt` 
echo "$result"

2)然后又出现一个问题,我直接代码批量生成的shell脚本放到终端里面报错:

./showll.sh: 权限不够

复制代码
chmod +x example.sh

/bin/bash^M: 坏的解释器: 没有那个文件或目录。这个问题是因为我在windows编辑的脚本,与centos的保存格式LR不一致。在python保存语句加参数 newline='\n'

复制代码
with open(sql_path+'output/4-3_select_and_save.sh', 'w' ,newline='\n') as f:

3、在目标库中新建不带分区的临时表(因为有分区不能直接导入,如果 没有分区的话可以直接跳过这步,去4步直接导入)

4、将源库中导出的data文件复制到目标库服务器上,然后把文件加载到临时表

复制代码
load data local inpath '/var/data.txt' overwrite into table database.table_cache ;

5、将临时表数据写到正式表中 ,需要注意的是,select不能直接*,而是要把所有列列出来

复制代码
insert overwrite table database.table partition (分区列名)  select 列名1,列名2 from database.table__cache;
相关推荐
TTBIGDATA12 小时前
【Ambari Plus】14.Hue 安装
大数据·hadoop·ambari·hdp·hue·cdh·bigtop
RestCloud13 小时前
借助ETL工具,实现AI智能体+数据的落地
数据仓库·人工智能·sql·etl·etlcloud·数据集成平台·java脚本
AllData公司负责人17 小时前
数据库同步平台|AIIData数据中台实现OceanBase、达梦数据库、OpenGauss、人大金仓、Hive、TDengine 一键接入Doris
大数据·数据库·hive·mysql·oceanbase·tdengine
2501_9423895521 小时前
特斯拉的车辆摄像头每四天为AI训练集采集的数据量
人工智能·hadoop·zookeeper·oracle·时序数据库·memcache
AllData公司负责人1 天前
数据同步平台|AIIData数据中台实现MySQL、Hive、Kafka 一键接入Doris
大数据·数据库·hive·mysql·kafka·实时同步
RestCloud1 天前
2026数据集成工具最新选型建议:ETL/ELT怎么选,都应该带有什么功能
数据仓库·etl·etlcloud·数据传输·数据同步·数据集成工具·elt
牛奶咖啡131 天前
大数据Hadoop运维应用实践——Hadoop大数据平台基础与架构(hadoop伪分布式的安装部署)
大数据·hadoop·分布式·hadoop是什么?有啥用?·hadoop的适用与不适用场景·hadoop伪分布式的安装部署·hadoop分布式存储操作
last_zhiyin1 天前
一步步上手ETL工具之------Informatica PowerCenter
数据仓库·etl·数据处理·powercenter·informatica
TTBIGDATA2 天前
【Ambari Plus】15.Livy 安装
大数据·运维·hadoop·ambari·hdp·cdh·bigtop
Direction_Wind2 天前
如何从零设计一套数据仓库
数据仓库