【发布时间】:2017-11-15 05:26:03
【问题描述】:
我有一个包含以下内容的 DataFrame:
TradeId|Source
ABC|"USD,333.123,20170605|USD,-789.444,20170605|GBP,1234.567,20150602"
我想把这些数据转成下面的数据
TradeId|CCY|PV
ABC|USD|333.123
ABC|USD|-789.444
ABC|GBP|1234.567
“来源”列中的 CCY|PV|Date 三元组的数量不固定。我可以在 ArrayList 中执行此操作,但这需要在 JVM 中加载数据并破坏 Spark 的全部意义。
假设我的 DataFrame 如下所示:
DataFrame tradesSnap = this.loadTradesSnap(reportRequest);
String tempTable = getTempTableName();
tradesSnap.registerTempTable(tempTable);
tradesSnap = tradesSnap.sqlContext().sql("SELECT TradeId, Source FROM " + tempTable);
【问题讨论】:
标签: java scala apache-spark apache-spark-sql pivot