当从雪花读取数据是不正确的

数据读取时雪花是不正确的时区值没有被正确设置。

写的DD沙玛

去年发表在:2022年5月24日

问题

你有一份工作是使用Apache火花从雪花读表,但Dataframe出现的时间数据是不正确的。

如果你直接运行相同查询雪花,正确的时间返回数据。

导致

时区值不正确设置的时区值之间的不匹配。砖集群和雪花会导致不正确的时间值,在雪花的解释使用时间戳和时区文档。

解决方案

设置时区的砖,不显式地设置时区的雪花。

选项1:设置时区砖的SQL语句

  1. 打开数据砖工作区。
  2. 选择集群
  3. 选择您希望修改集群。
  4. 选择编辑
  5. 选择高级选项
  6. 输入spark.sql.session。时区<时区>火花配置字段。
  7. 选择确认

选项2:为所有节点设置时区的init脚本

  1. 用以下命令创建init脚本:
    % python dbutils.fs.put(" /砖/脚本/ set_timezone。sh”、“”“# !/bin/bash timedatectl set-timezone美国/ Los_Angeles”“”,真的)
  2. 验证init脚本的完整路径。
    % python % fs / set_timezone.sh ls /砖/脚本
  3. 打开数据砖工作区。
  4. 选择集群
  5. 选择您希望修改集群。
  6. 选择编辑
  7. 选择高级选项
  8. 选择Init脚本
  9. 进入Init脚本路径
  10. 选择添加
  11. 选择确认
这篇文章有用吗?