scala - Spark DataFrame 每条记录添加“[”字符
问题描述
我正在这样做:
val xmlDataRDD : RDD[String] = anyDataFrame.get.select("columnSelected")
RDD (xmlDataRDD) 中的任何数据都以这种形式存储:
[valueofColumnSelected]
[valueofColumnSelected]
[valueofColumnSelected]
[valueofColumnSelected]
你知道我怎样才能避免记录中的“[”和“]”吗?我不想执行替换行来删除它们。
解决方案
这种行为是由于将数据帧转换为 RDD 可能会导致所有行元素中的行都带有方括号 []。
您可以使用以下方法使用 RDD 内置函数从每一行检索实际值。
someDF.select("number").show()
/*
+---------+
|number |
+---------+
| 8 |
| 64 |
| -27 |
+---------+ */
someDF.select("number").rdd.collect()
/* Array[org.apache.spark.sql.Row] = Array([8], [64], [-27]) */
someDF.select("number").rdd.collect().foreach {row => println(row(0).toString.toInt)}
/*
8
64
-27*/
推荐阅读
- python - Dask Future 的状态为“已取消”,但未被取消
- json - 有没有办法在 RML 中自动生成 ID/UUID?
- javascript - React app 提示:Typeerror _ service worker webpack_imported_module _4 is not a function
- typescript - 用于多种身份验证选项的服务器端编程设计(打字稿护照)
- postgresql - 使用 Confluent JDBC 连接器忽略更新缺失的字段
- python - 如何获得两列之间的相关性?
- c++ - error C2678: no operator found which takes a left-hand operand of type 'const _Ty'
- prometheus-java - How to update label value in promethues java implementation
- azure-ad-b2c - How to check if phone number is already registered with custom policies adb2c
- ios - How to prebuilt libraries to be compatible with future swift versions