我在数据库中运行代码,但不知何故unixtimestamp值并没有不同。在调试时,我开始了解,因为数据块配置了UTC时区。请告诉我如何在Databricks中将默认时区更改为EST。
axzmvihb1#
可以在cluster -> configuration -> Advanced Option -> spark中设置,设置spark参数:
cluster -> configuration -> Advanced Option -> spark
spark.sql.session.timeZone Asia/Hongkong
它将影响任何SQL语句时区。如果要为所有数据节点设置时区,则需要添加初始脚本并设置unix时区。所以像python datetime.dateime.now()这样的东西,将是设置的时区。
datetime.dateime.now()
7hiiyaii2#
你也可以在定义spark session时设置时区:
from pyspark.sql import SparkSession as PySparkSession from pyspark import SparkConf TIMEZONE = 'AFRICA/CAT' class SparkSession: def __init__(self, config=[]): config.append(tuple(('spark.sql.session.timeZone',TIMEZONE))) self.conf = SparkConf().setAll(config) self.spark = (PySparkSession.builder .config(conf=self.conf) .enableHiveSupport() .getOrCreate())
2条答案
按热度按时间axzmvihb1#
可以在
cluster -> configuration -> Advanced Option -> spark
中设置,设置spark参数:它将影响任何SQL语句时区。
如果要为所有数据节点设置时区,则需要添加初始脚本并设置unix时区。所以像python
datetime.dateime.now()
这样的东西,将是设置的时区。7hiiyaii2#
你也可以在定义spark session时设置时区: