python-3.x - 获取 pyspark RDD 行的前三列
问题描述
我有一个数据为 .dat 格式的源数据集。样本数据将是这样的
1::玩具总动员 (1995)::动画|儿童|喜剧
2::勇敢者游戏 (1995)::冒险|儿童|奇幻
3::脾气暴躁的老人 (1995)::喜剧|爱情
4::等待呼气 ( 1995)::喜剧|戏剧
5::新娘之父第二部分 (1995)::喜剧
6::热 (1995)::动作|犯罪|惊悚
我创建了这个 rdd 并将其拆分为 ("::")。我需要从中拉出一个仅包含前两行的新 rdd。像下面
1 玩具总动员 (1995)
2 勇敢者游戏 (1995)
3 脾气暴躁的老人 (1995)
4 等待呼气 (1995)
5 新娘之父第二部分 (1995)
6 热火 (1995)
请建议我这样做的方法
解决方案
你可以用地图做到这一点:
rdd = sc.textFile('inputfile.dat')
rdd = rdd.map(lambda x: x.split("::")[:2])
# additionally you can join them back together
rdd = rdd.map(lambda x: " ".join(x))
推荐阅读
- python - 迭代 CSV 行的更快方法?
- python - 如何在不填充背景的情况下在pygame中移动角色
- python-3.x - 防止在 PyGTK SpinButton 中手动输入文本
- qt - CMAKE target_link_libraries 正确的 dylib 但在运行时不会在 rpath 上找到
- python - Spyder-Notebook 是否可用于 Spyder-4?
- java - 如何在静态上使用 getString()?
- javascript - 使用 fetch 在 Reactjs 中处理 ajax 请求时出现问题
- asp.net-mvc - MVC 3.1 中的部分视图在模型上出现错误
- path - 自定义 pathlib.Path()
- azure - ARM 模板循环依赖问题