数据湖探索 DLI-Spark2.4.x与Spark3.3.x版本在SQL队列的差异对比:Spark3.3.x版本中空字符串无引号。

时间:2024-12-28 16:25:09

Spark3.3.x版本中空字符串无引号。

  • 说明:

    默认情况下,空值在 CS V数据源中,2.4.5版本空字符串为"",升级到spark3.3.1后空字符串无引号。

    • Spark2.4.x:空值在CSV数据源中为""。
    • Spark3.3.x:空值在CSV数据源中无引号。

      如需在Spark3.3.x版本中恢复Spark2.4.x的格式,可以通过设置spark.sql.legacy.nullValueWrittenAsQuotedEmptyStringCsv为 true来实现。

  • 升级引擎版本后是否对作业有影响:

    有影响,导出orc文件中null值存储形式不同。

  • 示例代码

    准备数据:

    create table test_null(id int,name string) stored as parquet;
    insert into test_null values(1,null);

    导出csv查看文件内容

    • Spark2.4.5
      1,""
    • Spark3.3.1
      1,
support.huaweicloud.com/bulletin-dli/dli_bulletin_0015.html