我正在尝试从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(","))
答案 0 :(得分:1)
所以在评论中讨论之后我发现你的列有逗号作为分隔符。同时你用逗号分隔" colB"柱。在您的脚本中,您尝试通过用逗号分隔列来解析列。所以要么使用分号(或其他任何作为列的分隔符)或更改colB中值的分隔符:
文件:
colA;colB
1;cat,bat
2;cat
3;horse,elephant, mouse
然后使用此代码获取RDD:
rdd = sc.textFile("filename").map(lambda line: line.split(";"))