使用Dataframe作为RDD

时间:2017-07-13 05:36:32

标签: scala apache-spark

我正在尝试将Dataframe用作RDD。 当使用地图方法并提取元素时," [" &安培; "]"字符也被提取。我怎么能避免这个?我的逻辑中有错误吗? 我正在分享细节。

日期框架名称是奥运会

scala> olympics.map(x => x.toString.split(",")).first
res1814: Array[String] = Array([Michael Phelps, 23, United States, 2008, 8/24/2008, Swimming, 8, 0, 0, 8])

使用地图方法将数据框设为rdd

Array[String] = Array(Michael Phelps, 23, United States, 2008, 8/24/2008, Swimming, 8, 0, 0, 8)

正如您在上面的结果中所看到的,字符" [" "]"正在被提取。

预期结果是:

{{1}}

我不希望捕获行中的第一个和最后一个字符。 我尝试使用子字符串,但它只提取第一个元素。

我该如何解决这个问题? 请帮忙

1 个答案:

答案 0 :(得分:1)

如果您要将数据写入输出文件或数据库,则可以string array string "[""]"olympics.map(x => x.mkString(",")).first 制作$ npm -v module.js:471 throw err; ^ Error: Cannot find module '../lib/utils/unsupported.js' at Function.Module._resolveFilename (module.js:469:15) at Function.Module._load (module.js:417:25) at Module.require (module.js:497:17) at require (internal/module.js:20:19) at C:\Users\dino\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js:19:21 at Object.<anonymous> (C:\Users\dino\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js:92:3) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) ,如下所示

$ npm -v
module.js:487
    throw err;
    ^

Error: Cannot find module '../lib/utils/unsupported.js'
    at Function.Module._resolveFilename (module.js:485:15)
    at Function.Module._load (module.js:437:25)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at C:\Users\dino\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js:19:21
    at Object.<anonymous> (C:\Users\dino\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js:92:3)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)

希望这有帮助!