如何合并spark databricks中的行

2024-05-29 11:02:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把Spark里的行合并起来。你知道吗

数据集包含年份行、邮政编码行、基于2000的HPI\u行等。我选择了三个邮政编码行及其基于2000的HPI\u行的信息。我想做的是我想结合这些行(三个邮政编码和他们的HPI\u与\u2000\u为基础)和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()

你能告诉我该怎么做才能得到结果吗? 非常感谢。你知道吗


Tags: or数据fromsqlbasewithwhereselect
1条回答
网友
1楼 · 发布于 2024-05-29 11:02:15

如果我正确理解了这个问题,您需要将条件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""")

相关问题 更多 >

    热门问题