【问题标题】:How can I combine rows from spark databricks如何组合来自 spark databricks 的行
【发布时间】:2018-04-07 04:03:04
【问题描述】:

我正在尝试在 Spark 中合并行。

数据集有Year、Zip code、HPI_with_2000_based等行。我选择了三个zip code及其信息HPI_with_2000_based。我想要做的是我想将这些行(三个邮政编码及其 HPI_with_2000_based)和 2000 年后的年份结合起来。

当我这样输入并且它起作用时:

df6 = spark.sql("select ZipCode,Year, HPI_with_2000_base from df1 where ZipCode = 94122 or ZipCode = 10583 or ZipCode = 91411")

结果数据框:

+-------+----+------------------+
|ZipCode|Year|HPI_with_2000_base|
+-------+----+------------------+
|  10583|1976|             16.66|
|  10583|1977|             16.81|
|  10583|1978|             18.37|
|  10583|1979|             23.06|
|  10583|1980|             24.37|
|  10583|1981|             30.82|
|  10583|1982|             32.46|
|  10583|1983|             35.25|
|  10583|1984|             42.15|
|  10583|1985|             48.94|
|  10583|1986|             57.22|
|  10583|1987|             66.24|
|  10583|1988|             76.98|
|  10583|1989|             77.28|
|  10583|1990|             74.44|
|  10583|1991|             69.85|
|  10583|1992|             70.86|
|  10583|1993|             70.98|
|  10583|1994|             71.39|
|  10583|1995|             71.27|
+-------+----+------------------+
only showing top 20 rows

但是,当我这样输入时,它失败了:

df6 = spark.sql("select ZipCode,Year, HPI_with_2000_base from df1 where ZipCode = 94122 or ZipCode = 10583 or ZipCode = 91411" or Year >= '2000'").show()

你能告诉我应该怎么做才能得到结果吗? 谢谢。

【问题讨论】:

  • 在查询中使用where ZIPCODE IN (94122, 10583, 91411) 使其更具可读性和更易于更改。

标签: python sql apache-spark databricks


【解决方案1】:

如果我对问题的理解正确,您想将条件Year >= 2000 添加到当前 SQL 语句中。您的 " 似乎有点放错了位置,您需要用括号括住 ZipCode or ZipCode or ZipCode 部分。工作语句可能如下所示:

val df6 = spark.sql("""select ZipCode, Year, HPI_with_2000_base from df1 
                         where ZipCode IN(94122, 10583, 91411) and Year >= 2000""")

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 2021-01-29
    • 2018-08-31
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 2021-12-17
    相关资源
    最近更新 更多