gpt4 book ai didi

apache-spark - 区分大小写加入 Spark

转载 作者:行者123 更新时间:2023-12-04 14:03:47 27 4
gpt4 key购买 nike

我正在处理一个需要编写区分大小写的连接条件的场景。为此,我发现有一个可以更改的 spark 配置属性 spark.sql.caseSensitive。但是,如果我将此属性设置为 TrueFalse,对最终结果集没有影响。在这两种方式中,我都没有从下面的示例 PySpark 代码中获得 language=java 的结果。谁能帮助解决这种情况?

spark.conf.set("spark.sql.caseSensitive", False)

columns1 = ["language","users_count"]
data1 = [("Java", "20000"), ("Python", "100000"), ("Scala", "3000")]

columns2 = ["language","note"]
data2 = [("java", "JVM based"), ("Python", "Indentation is imp"), ("Scala", "Derived from Java")]

df1 = spark.createDataFrame(data1, columns1)
df2 = spark.createDataFrame(data2, columns2)

#df1.createOrReplaceTempView("df1")
#df2.createOrReplaceTempView("df2")

df = df1.join(df2, on="language", how="inner")
display(df)

最佳答案

  1. 我对 spark.sql.caseSensitive 的理解是它影响 SQL,而不是数据。

  2. 至于你的连接本身,如果你不想小写或大写你的数据,我能理解为什么,你可以创建一个 key 列,这是小写版本您要加入的值(value)。如果您遇到更复杂的情况,您的 key 列甚至可以变成一个/多个列的 md5()。确保所有内容都保持小写/大写,以便进行比较。

关于apache-spark - 区分大小写加入 Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69194628/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com