scala - 如何将一行从 Dataframe 转换为 String
问题描述
我有一个数据框,其中仅包含一行的列名:source_column
采用以下格式:
forecast_id:bigInt|period:numeric|name:char(50)|location:char(50)
我想将此值检索为一个字符串,然后在正则表达式上拆分它|
首先我尝试通过以下方式将数据帧中的行转换为字符串,以便我可以检查该行是否转换为字符串:
val sourceColDataTypes = sourceCols.select("source_columns").rdd.map(x => x.toString()).collect()
当我尝试打印:println(sourceColDataTypes)
检查内容时,我发现[Ljava.lang.String;@19bbb216
我无法理解这里的错误。谁能让我知道如何正确地从数据框中获取一行并将其转换为字符串。
解决方案
你也可以试试这个:
df.show()
//Input data
//+-----------+----------+--------+--------+
//|forecast_id|period |name |location|
//+-----------+----------+--------+--------+
//|1000 |period1000|name1000|loc1000 |
//+-----------+----------+--------+--------+
df.map(_.mkString(",")).show(false)
//Output:
//+--------------------------------+
//|value |
//+--------------------------------+
//|1000,period1000,name1000,loc1000|
//+--------------------------------+
df.rdd.map(_.mkString(",")).collect.foreach(println)
//1000,period1000,name1000,loc1000
推荐阅读
- git - 如何在git中管理不同的项目?
- python - 熊猫数据框中出现重复低的行
- python - 我们可以在 pytest 中有多个 addfinalizer
- c# - 尝试从 Windows 窗体应用程序(WebClient 类)进行 POST 时出现 405 错误
- webcenter-sites - 更改页面资产定义
- php - Left JOIN 查询不显示数据
- javascript - 如何使用 javascript 将创建的元素存储在 Cookie 或 localStorage 中?
- excel - Excel VBA如何为单独的用户自动保存
- linux - 带错误控制的 shell 并行编程
- angular - Angular 6 - 触发浏览器“保存登录提示”