我是Spark Scala的一名新开发人员,并且(我认为...)有一个简单的问题。 我有一个像这样的“客户”表:
ID City Timestamp
1 NY 0
1 WDC 10
1 NY 11
2 NY 20
3 WDC 15
我想基于表1值的不同条件创建第二个表。
例如:
我不熟悉Map概念,我只想知道Spark Scala中进行此类处理的逻辑。我是否应该创建例如3 DF,最后在三个Dataframe之间进行并集?
请帮助我输入代码(然后:我将更改其他条件的值,但是我只想了解逻辑)。例如:
var df_input = spark.sql("""select * from clients
""")
val df1 = new (id STRING, city STRING, timestamp STRING);
val df2;
val df3;
if df_input.id === 1 {
df1.id = df_input.id
df1.city = df_input.city
df1.timestamp = df_input.timestamp
} else if df_input.id === 2 {
df2.timestamp = df_input.timestamp / 2
}
var result = df1.union(df2).union(df3)
对不起,我的代码不好,但我对地图概念和Scala并不真正熟悉。我更熟悉Java