首页 > 其他分享 >0805-CDH5中的Parquet迁移至CDP中兼容性验证

0805-CDH5中的Parquet迁移至CDP中兼容性验证

时间:2022-10-04 11:32:56浏览次数:51  
标签:test1 cloudera 0805 Parquet hive CDP parquet VALUES data

文档编写目的




因为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

0805-CDH5中的Parquet迁移至CDP中兼容性验证_hive


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

0805-CDH5中的Parquet迁移至CDP中兼容性验证_cloudera_02

0805-CDH5中的Parquet迁移至CDP中兼容性验证_cloudera_03



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';


0805-CDH5中的Parquet迁移至CDP中兼容性验证_cloudera_04


执行数据插入

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');

0805-CDH5中的Parquet迁移至CDP中兼容性验证_h5_05


查询数据是否插入成功

SELECT * FROM test1.hive_data_parquet;

0805-CDH5中的Parquet迁移至CDP中兼容性验证_hive_06



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

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

spark2-shell
spark.sql("SELECT * FROM test1.hive_data_parquet").show

0805-CDH5中的Parquet迁移至CDP中兼容性验证_h5_07

查询成功


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/

0805-CDH5中的Parquet迁移至CDP中兼容性验证_hive_08



scp -r /tmp/hivedata_parquet [email protected]:/tmp/

0805-CDH5中的Parquet迁移至CDP中兼容性验证_h5_09


目标端验证传输成功


ll

0805-CDH5中的Parquet迁移至CDP中兼容性验证_hive_10





hdfs dfs -put/tmp/hivedata_parquet /tmp/hdfs dfs -ls/tmp/hivedata_parquet

0805-CDH5中的Parquet迁移至CDP中兼容性验证_h5_11



2.2.2 在CDP中建立Impala表​

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

0805-CDH5中的Parquet迁移至CDP中兼容性验证_h5_12


2.3 在CDP7中进行测试


2.3.1 集群版本验证​


0805-CDH5中的Parquet迁移至CDP中兼容性验证_hive_13

0805-CDH5中的Parquet迁移至CDP中兼容性验证_cloudera_14

0805-CDH5中的Parquet迁移至CDP中兼容性验证_cloudera_15



2.3.2 Impala查询测试​

SELECT * from test1.hive_data_parquet;

0805-CDH5中的Parquet迁移至CDP中兼容性验证_hive_16



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



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

0805-CDH5中的Parquet迁移至CDP中兼容性验证_h5_17

查询成功


验证结果




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

标签:test1,cloudera,0805,Parquet,hive,CDP,parquet,VALUES,data
From: https://blog.51cto.com/u_14049791/5731152

相关文章

  • 0869-7.1.7-如何在CDP中使用Hive Bulkload批量导入数据到HBase
    1.文档编写目的在遇到将Hive中的数据同步到HBase时,一般都是通过在Hive中创建映射HBase的表,然后通过insert的方式来实现,在数据量小的时候,往往还能接受,但是如果是大批量数据,除......
  • 0870-CDP公有云发布Iceberg技术预览版
    在过去的十年中,我们的客户成功部署的大规模数据集群已成为推动需求的大数据飞轮,它可以引入更多的数据,应用更复杂的分析,并成就了从业务分析师到数据科学家的许多新数据从业者......
  • 0887-7.1.4-如何在CDP中为Kafka启用Kerberos认证及使用
    1.文档编写目的在CDP集群中启用了Kerberos认证,那么Kafka集群能否与Kerberos认证服务集成呢?本文主要讲述如何通过ClouderaManager为Kafka集群启用Kerberos认证及客户端配置......
  • Parquet
     importosimportnumpyasnpimportpandasaspdimportstring,randomdefrandom_string(n:int):return''.join(random.choices(string.ascii_letters......
  • C20220805T3 零和
    当构造出长度为22的随机\([1,5]\)的集合后,出现合法方案的概率很大,所以可以先随便构造一种方案,然后再通过背包求出其他取值中可以满足的方案数(即先构造22个极小的整数,去找......
  • C20220805T2 赌徒
    设手中硬币的大小为\(a\)和\(b\),对手硬币的两面是\(a_i\)和\(b_i\),那么单次游戏的收益就是\[\frac{1}{4}x_i(f(a,a_i)+f(a,b_i)+f(b,a_i)+f(b,b_i))\]其中\(f(x......
  • 一种关于低代码平台(LCDP)建设实践与设计思路
    简介: 作者在负责菜鸟商业中心CRM系统开发过程中发现有一个痛点:业务线很多,每个业务线对同一个页面都有个性化布局和不同的字段需求,而他所在的团队就3个人,那么在资源有限的......