【发布时间】:2019-10-11 09:28:55
【问题描述】:
使用 spark scala azure 数据块。
我有一个包含 100 多列的数据框(df1)。我需要创建另一个数据框(df2)并且也希望有相同的模式。 如何将 df1 的模式存储到变量中并应用于 df2
val inputDF = Seq(("00163E0F765C1ED79593228BF70CEE41" ,"PD PUMPS")
,("00164E0F775C1ED79593228BF70CEE42" ,"PD PUMPS")
,("00165E0F785C1ED79593228BF70CEE43" ,"PD PUMPS")
,("00166E0F795C1ED79593228BF70CEE44" ,"PD PUMPS")
,("00167E0F405C1ED79593228BF70CEE45" ,"PD PUMPS")
).toDF("objectID")
val expectedDF = Seq(("00163E0F765C1ED79593228BF70CEE41" ,"PD PUMPS1")
,("00164E0F775C1ED79593228BF70CEE42" ,"PD PUMPS1")
,("00165E0F785C1ED79593228BF70CEE43" ,"PD PUMPS1")
,("00166E0F795C1ED79593228BF70CEE44" ,"PD PUMPS1")
,("00167E0F405C1ED79593228BF70CEE45" ,"PD PUMPS1")
).toDF("objectID","equipmentName", inputDF.schema)
这样做的目的是:我实际上是在编写单元测试用例。我有一个函数将一列添加到传递的数据框中(参数化)。所以我需要创建 inputDF,然后我需要在 inputDF 中再创建 1 列的 expectedDF。
【问题讨论】:
-
我尝试了 databricks 笔记本中没有的 df.schema 方法
标签: apache-spark azure-databricks