带scala 2.4的spark
我的源数据如下所示。
Salesperson_21: Customer_575,Customer_2703,Customer_2682,Customer_2615
Salesperson_11: Customer_454,Customer_158,Customer_1859,Customer_2605
Salesperson_10: Customer_1760,Customer_613,Customer_3008,Customer_1265
Salesperson_4: Customer_1545,Customer_1312,Customer_861,Customer_2178
用来整平文件的代码。
val SalespersontextDF = spark.read.text("D:/prints/sales.txt")
val stringCol = SalespersontextDF.columns.map(c => s"'$c', cast(`$c` as string)").mkString(", ")
val processedDF = SalespersontextDF.selectExpr(s"stack(${df1.columns.length}, $stringCol) as (Salesperson, Customer)")
不幸的是,它没有在正确的字段中填充salesperson,而是将硬编码的值填充为“value”,而不是salespersonnumber。销售人员的号码也会转移到另一个领域。
非常感谢你的帮助。
2条答案
按热度按时间jgwigjjp1#
下面的方法可能会解决您的问题,
2lpgd9682#
试试这个-