数据湖探索 DLI-Spark 2.4.x与Spark 3.3.x版本在SQL队列的差异对比:ADD PARTITION新增支持使用类型化文字
ADD PARTITION新增支持使用类型化文字
- 说明:
- Spark2.4.x:
在Spark 2.4.x版本中,使用ADD PARTITION时,如果使用类型化文字(例如date'2020-01-01'),分区值会被解析为字符串值date'2020-01-01',会生成一个非法的日期值,因此会添加一个值为null的分区。
正确的做法是使用字符串值,例如ADD PARTITION(dt = '2020-01-01')
- Spark3.3.x:在Spark 3.3.x版本中,对分区操作支持使用类型化文字,支持使用ADD PARTITION(dt = date'2020-01-01'),并且可以正确地将分区值解析为日期类型,而不是字符串。
- Spark2.4.x:
- 升级引擎版本后是否对作业有影响:
有影响,ADD PARTITION中对于类型化文字的处理方式的变化。
- 示例代码:
准备数据:
create table test_part_type (id int,name string,pt date) PARTITIONED by (pt);insert into test_part_type partition (pt = '2021-01-01') select 1,'name1';insert into test_part_type partition (pt = date'2021-01-01') select 1,'name1';
执行sql:
select id,name,pt from test_part_type;(配置参数spark.sql.forcePartitionPredicatesOnPartitionedTable.enabled为false)
- Spark 2.4.5
1 name1 2021-01-011 name1
- Spark 3.3.1
1 name1 2021-01-011 name1 2021-01-01
- Spark 2.4.5
- 什么是Spark SQL作业_数据湖探索DLISpark SQL作业
- 什么是数据湖探索服务_数据湖探索DLI用途与特点
- 什么是跨源连接-数据湖探索DLI跨源连接
- 什么是Flink OpenSource SQL_数据湖探索_Flink OpenSource SQL
- 分布式消息服务Kafka版与分布式消息服务RocketMQ版的区别_Kafka与RocketMQ对比_Kafka与RocketMQ差异
- 数据治理中心_数据开发_数据开发示例_使用教程-华为云
- 华为云内容审核服务_内容审核有什么作用_华为云内容审核的优势
- 什么是弹性资源池_数据湖探索DLI弹性资源池
- 大数据可视化平台是什么_大数据可视化平台有什么优势
- kafka是什么_kafka介绍_分布式消息服务Kafka版