【问题标题】:Selecting a column in RDD在 RDD 中选择一列
【发布时间】:2017-11-09 14:35:43
【问题描述】:

我正在尝试从 RDD 数据中选择特定列。我的数据如下所示:

colA | colB
1    | cat,bat
2    | cat
3    | horse,elephant, mouse

我想提取不同长度的 colB。我试着做:

coldata = rdd.map(lambda x: x[1])

只提取cat,cat,horse 我希望提取的数据是:

colB
cat,bat
cat
horse,elephant,mouse

我通过执行以下操作来创建 RDD:

sqlContext = SQLContext(sc)
data = sc.textFile("filename").map(lambda line: line.split(","))

【问题讨论】:

  • 你能展示一下rdd是如何创建的吗?
  • 我已将代码添加到我的原始帖子中。谢谢。
  • 好的,colA 和 colB 是怎么分开的?我假设用逗号,?
  • 是的,它们用逗号分隔。

标签: pyspark rdd


【解决方案1】:

所以在 cmets 讨论后,我发现你的列有逗号作为分隔符。同时,您可以用逗号分隔“colB”列中的值。在您的脚本中,您尝试通过用逗号分隔列来解析列。所以要么使用分号(或任何其他作为列的分隔符)或更改 colB 中值的分隔符:

文件:

colA;colB
1;cat,bat
2;cat
3;horse,elephant, mouse

然后用这段代码获取RDD:

rdd = sc.textFile("filename").map(lambda line: line.split(";"))

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    相关资源
    最近更新 更多