string - 连接地图中的两个数组 [行] 元素
问题描述
我有 Array[Row] 我正在使用案例类来映射它以获取 RDD
case class MyClass(string,long)
sparkSession.sparkContext.
parallelize(row.map(r1 =>
MyClass(r1.getString(0).concat(r1.getString(1)),
r1.getLong(2))))
数组行中有 3 个字段。我想用分隔符“-”连接 1 和 2 字段...r1.getString(0).concat(r1.getString(1))
输入数组 row = ["string1","string2",someLongnum]
case class = ["string1-string2",someLongnum] 的预期输出 RDD
解决方案
你可以试试这个:
输入:
val rdd = sc.parallelize(data)
//data: Array[org.apache.spark.sql.Row] = Array([AAA,a,100], [BBB,b,200], [CCC,c,300])
val result = rdd.map(r => myClass(r.getString(0) +'-'+ r.getString(1),r.getLong(2)))
//result: org.apache.spark.rdd.RDD[myClass] = MapPartitionsRDD[15]
输出:
result.collect.foreach(println)
//myClass(AAA-a,100)
//myClass(BBB-b,200)
//myClass(CCC-c,300)
推荐阅读
- java - 如何从函数应用程序中的 TLS/SSL 证书中读取证书以使用 Java 代码进行 HTTPS 调用
- eiffel - EiffelStudio 最终确定并启用合同
- r - 向数据表添加常规按钮 - 闪亮的应用程序
- python - 用 MemoryError 覆盖两个 pcolormesh 图
- ruby-on-rails - 如何使用 Github 操作让 Selenium 测试在 Rails 中运行?
- python - 如何在没有明确命令的情况下在 Pycharm 中打印?
- powerbi - Power BI 滚动 12 个月没有什么可计算的?
- swift - SwuiftUI 折叠多行文本
- python - 如何使用 librosa 提供的背景音乐从歌曲中提取人声
- python - 从 txt 输出中解析多行