I'm working with spark and python. I would like to transform my input dataset.

我正在使用spark和python。我想转换我的输入数据集。

My input dataset (RDD)

我的输入数据集(RDD)

-------------------------------------------------------------
| id |                  var                                 |
-------------------------------------------------------------
| 1  |"[{index: 1, value: 200}, {index: 2, value: A}, ...]" |
| 2  |"[{index: 1, value: 140}, {index: 2, value: C}, ...]" |
| .. |                      ...                             |
-------------------------------------------------------------

I would like to have this DataFrame (output dataset)

我想有这个DataFrame(输出数据集)

----------------------
| id | index | value |
----------------------
| 1  |  1    | 200   |
| 1  |  2    | A     |
| 1  |  ...  | ...   |
| 2  |  1    | 140   |
| 2  |  2    | C     |
| ...|  ...  | ...   |
----------------------

I create a map function

我创建了一个地图功能

def process(row):
    my_dict = {}
    for item in row['value']:
        my_dict['id'] = row['id']
        my_dict['index'] = item['index']
        my_dict['value'] = item['value']

    return my_dict

I would like to map my process function like this:

我想像我这样映射我的过程函数:

output_rdd = input_rdd.map(process)

Is it possible to do this on this way (or a simpler way)?

是否有可能以这种方式(或更简单的方式)这样做?

1 个解决方案

#1


0

I found the solution:

我找到了解决方案:

output_rdd = input_rdd.map(lambda row:process(row)).flatMap(lambda x: x)

更多相关文章

  1. 检查 NaN 数据值 (C/C++/Python 实现)
  2. 【python网络爬虫三】爬取动态数据及数据入库
  3. 数据挖掘(三)分类模型的描述与性能评估,以决策树为例
  4. 用于Python项目的低内存和最快查询数据库
  5. python爬虫:爬取豌豆荚APP第一页数据信息(selenium)
  6. Pandas 文本数据方法 findall( )
  7. TensorFlow数据集(一)——数据集的基本使用方法
  8. python常用数据类型-字典
  9. python脚本下载并解码MNIST数据遇到的问题

随机推荐

  1. Android·性能分析systrace报错
  2. Android中的高效率的数据库操作框架----L
  3. Android自带Music播放器更新播放时间和进
  4. 修改android桌面图标默认大小
  5. android中的heap是修改
  6. Android实现圆形图片
  7. Android API 实验记录(一)
  8. Android(安卓)Fk:【JavaCrash】Android(
  9. android 调用手机已安装的音乐播放器 的
  10. Android文件目录选择器(可自行扩展)