如何用 sacala 代码详细说明 pyspark 代码?
Posted
技术标签:
【中文标题】如何用 sacala 代码详细说明 pyspark 代码?【英文标题】:How elaborate pyspark code with sacala code? 【发布时间】:2018-05-15 14:55:46 【问题描述】:我想在 Pyspark 代码中转换这个 Scala 代码。
Scala 代码:
Row=
val columnArray = new Array[String](95)
columnArray(0)=x.substring(0,10)
columnArray(1)=x.substring(11,14)
columnArray(2)=x.substring(15,17)
Row.fromSeq(columnArray)
如何在 pyspark 上详细说明相同的 scala 代码?
【问题讨论】:
您实际尝试了什么?将其添加到您的问题中将有助于人们回答您的具体问题。 【参考方案1】:@Felipe Avalos @Nicolas Grenié 假设您正在尝试将字符串数组转换为以子字符串作为对应列的数据框,这将在 pyspark 中发挥作用。
将 column_array 更改为字符串数组,将 column_names 更改为每列的名称:
column_array = ["abcdefghijklmnopqrst", "abcdefghijklmnopqrst"]
column_names = ["col1", "col2", "col3", "col4"]
这会将 map 数组转换为以字符串和子字符串为值的 rdd。然后将 rdd 转换为具有给定列名的数据框。
sc.parallelize(column_array).map(lambda x: (x, x[0:10], x[11:14],
x[15:17])).toDF(column_names).show()
这将生成以下数据框:
+--------------------+----------+----+----+
| col1| col2|col3|col4|
+--------------------+----------+----+----+
|abcdefghijklmnopqrst|abcdefghij| lmn| pq|
|abcdefghijklmnopqrst|abcdefghij| lmn| pq|
+--------------------+----------+----+----+
【讨论】:
嗨@karhershey,虽然这可能会回答问题,但通常建议您在代码示例周围添加更多上下文和解释。以上是关于如何用 sacala 代码详细说明 pyspark 代码?的主要内容,如果未能解决你的问题,请参考以下文章