读取parquet_0805-CDH5中的Parquet迁移至CDP中兼容性验证

文档编写目的

因为CDH5中的Parquet版本为1.5,而CDP7中的Parquet版本为1.10,我们在从CDH5升级到CDP7后,无论是原地升级还是迁移升级,都可能会碰到一个问题,以前在CDH5中使用Hive/Impala生成的低版本Parquet文件还能继续在CDP7中使用吗。本文主要描述将CDH5中的Parquet文件传输到CDP7环境中,使用CDP7中的Hive,Impala,Spark确认能否继续访问这些文件。

  • 测试环境

1.集群环境:CDH5.16.2/CDP7.1.1

2.系统环境:Redhat7.6

验证步骤

2.1在CDH5中生成Parquet1.5文件

2.1.1集群版本验证

查看集群Hadoop版本

hadoop version
9d168be9d6fcfc56701a2f895d2a1a01.png

打开CM页面点击支持点击关于

f1cb07997b2f3056ab4bcbc927355689.png
4ded3bcd8b6cd8c0bbe2d79042ee041c.png

2.1.2Impala建表测试

打开Hue选择 Impala,创建Parquet表

create external table test1.hive_data_parquet(id string,collectiondate string,collectionaddress string,textch string)STORED AS parquetlocation '/tmp/hivedata_parquet';
462cde42a317446ea4a75ca8527488ba.png

执行数据插入

INSERT into test1.hive_data_parquet VALUES ('1','0814','深圳','cloudera');INSERT into test1.hive_data_parquet VALUES ('2','0814','深圳','cloudera');INSERT into test1.hive_data_parquet VALUES ('3','0814','深圳','cloudera');INSERT into test1.hive_data_parquet VALUES ('4','0814','深圳','cloudera');INSERT into test1.hive_data_parquet VALUES ('5','0814','深圳','cloudera');INSERT into test1.hive_data_parquet VALUES ('6','0814','深圳','cloudera');INSERT into test1.hive_data_parquet VALUES ('7','0814','深圳','cloudera');INSERT into test1.hive_data_parquet VALUES ('8','0814','深圳','cloudera');INSERT into test1.hive_data_parquet VALUES ('9','0814','深圳','cloudera');INSERT into test1.hive_data_parquet VALUES ('10','0814','深圳','cloudera');
5cf63b6d8d0395dce6984289aa7b7d5b.png

查询数据是否插入成功

SELECT * FROM test1.hive_data_parquet;
108561fc6068a4a93267f89cb7a0ba15.png

2.1.3使用CDH5中的Spark SQL读取Parquet表

在客户端访问spark-shell,并输入查询语句。

spark2-shellspark.sql("SELECT * FROM test1.hive_data_parquet").show
2f3d2ae47cc6616d3e546c605f07903d.png

查询成功

2.2将Parquet表从CDH5迁移到CDP

2.2.1集群数据迁移

正常采用hadoop distcp命令,这里由于都开启了kerberos,需要配置互信,过程太长,采用hdfs get put scp命令代替

源端执行get命令

hdfs dfs -get /tmp/hivedata_parquet /tmp/ll /tmp/hivedata_parquet/
d88ab880816c3c3be32ade56c3ad9b04.png
scp -r /tmp/hivedata_parquet root@192.168.0.156:/tmp/  
e784e9903054c6d6abb283248176df8f.png

目标端验证传输成功

ll /tmp/hivedata_parquet/
2b92ca764be76624dd94c77b26adff12.png
hdfs dfs -put/tmp/hivedata_parquet /tmp/hdfs dfs -ls/tmp/hivedata_parquet
fd6ceacbca8437d9c19cd29ba1ca5de7.png

2.2.2 在CDP中建立Impala表

create external table test1.hive_data_parquet(id string,collectiondate string,collectionaddress string,textch string)STORED AS parquetlocation '/tmp/hivedata_parquet';
f1d32dbc5d0c35aa41dcdfa525b162b7.png

2.3 在CDP7中进行测试

2.3.1 集群版本验证

fa8bcd68798343da032e8174bfd0f9f6.png
9248da53fe405c9dc14defd816ffa3ae.png
c2b86d0f8a90c3458e55da275c81f260.png

2.3.2 Impala查询测试

SELECT * from test1.hive_data_parquet;
2f9d5ddb983eac544280d4974f4bf8b1.png

2.3.3 在CDP7中使用Spark SQL读取Parquet1.5的表

spark-shellspark.sql("SELECT * FROM test1.hive_data_parquet").show
89bcc25fbfeee6014c63131589f1fa0f.png

查询成功

验证结果

如果将CDH5升级到CDP7,旧集群中的老版本的Parquet1.5文件可以在CDP7中直接被访问,Impala,Hive和Spark均可以访问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值