我有DataFrame和一个数组
输入:
1. an array,array's length is uncertain.
array[eason,wency,kobe...]
2. dataframe like this:
name grade
eason 90
evan 80
wency 70
elton 50
frank 90
... ..
kobe 90
输出:根据数组元素过滤此数据帧的输入:
name grade
eason 90
wency 70
kobe 90
... ..
如何通过地图或其他Spark API获取新的数据框? 请提出任何想法。
答案 0 :(得分:1)
您可以从数组中构造Spark DataFrame,如下所示:
BodyHandlers.ofPublisher()
一旦从数组构造了DataFrame,就可以使用通用名称字段将2个DataFrame连接起来。
其他数据框:
scala> val arr = Array("eason", "wency", "elton", "kobe")
arr: Array[String] = Array(eason, wency, elton, kobe)
scala> val df = sc.parallelize(arr).toDF("name")
df: org.apache.spark.sql.DataFrame = [name: string]
scala> df.show()
+-----+
|name|
+-----+
|eason|
|wency|
|elton|
| kobe|
+-----+
使用名称字段连接两个数据框:
scala> otherDF.show()
+-----+-----+
| name|grade|
+-----+-----+
|eason| 90|
| evan| 80|
|wency| 70|
|elton| 50|
|frank| 90|
| kobe| 90|
+-----+-----+