全局启用spark.sql的区分大小写

kar*_*son 5 apache-spark pyspark

该选项spark.sql.caseSensitive控制列名称等是否应区分大小写.它可以通过例如设置

spark_session.sql('set spark.sql.caseSensitive=true')
Run Code Online (Sandbox Code Playgroud)

并且是false默认的.

这似乎并不可能,使其能够在全球范围内$SPARK_HOME/conf/spark-defaults.conf

spark.sql.caseSensitive: True
Run Code Online (Sandbox Code Playgroud)

虽然.这是打算还是有一些其他文件来设置SQL选项?

同样在消息来源中声明,根本不鼓励这样做.这个建议背后的理由是什么?

kar*_*son 10

事实证明,设置

spark.sql.caseSensitive: True
Run Code Online (Sandbox Code Playgroud)

$SPARK_HOME/conf/spark-defaults.confDOES工作毕竟.它只需要在Spark驱动程序的配置中完成,而不是master或worker.显然我忘记了上次尝试的时候.


Ank*_*kur 7

PySpark 的另一种方式。使用SparkSession名为的对象spark

spark.conf.set('spark.sql.caseSensitive', True)
Run Code Online (Sandbox Code Playgroud)