[Spark][Python]Mapping Single Rows to Multiple Pairs

Mapping Single Rows to Multiple Pairs
目的:

把如下的这种数据,

Input Data

00001 sku010:sku933:sku022
00002 sku912:sku331
00003 sku888:sku022:sku010:sku594
00004 sku411

转换为这样:
一个Key值,带的这几个键值,分别罗列:

(00001,sk010)
(00001,sku933)
(00001,sku022)

...
(00002,sku912)
(00002,sku331)
(00003,sku888)

这就是所谓的 Mapping Single Rows to Multiple Pairs

步骤如下:

[[email protected] ~]$ vim act001.txt
[[email protected] ~]$
[[email protected] ~]$ cat act001.txt
00001 ku010:sku933:sku022
00002 sku912:sku331
00003 sku888:sku022:sku010:sku594
00004 sku411
[[email protected] ~]$ hdfs dfs -put act001.txt
[[email protected] ~]$
[[email protected] ~]$ hdfs dfs -cat act001.txt
00001 ku010:sku933:sku022
00002 sku912:sku331
00003 sku888:sku022:sku010:sku594
00004 sku411
[[email protected] ~]$

In [6]: mydata01=mydata.map(lambda line: line.split("\t"))

In [7]: type(mydata01)
Out[7]: pyspark.rdd.PipelinedRDD

In [8]: mydata02=mydata01.map(lambda fields: (fields[0],fields[1]))

In [9]: type(mydata02)
Out[9]: pyspark.rdd.PipelinedRDD

In [10]:

In [11]: mydata03 = mydata02.flatMapValues(lambda skus: skus.split(":"))

In [12]: type(mydata03)
Out[12]: pyspark.rdd.PipelinedRDD

In [13]: mydata03.take(1)
Out[13]: [(u‘00001‘, u‘ku010‘)]

时间: 2024-09-30 07:42:19

[Spark][Python]Mapping Single Rows to Multiple Pairs的相关文章

Share single RDM between multiple VM's in ESX

1.Create a VM01 on esx01,Create a VM02 on esx02 2.Create the RDM on your VM01 (using the virtual, not physical)3.Add new disk to VM02 (select existing) and point it at the vmdk that corresponds to the RDM A Raw Disk Mapping (RDM) may be used to prese

spark机器学习系列:(三)用Spark Python构建推荐系统

上一篇博文详细介绍了如何使用Spark Python进行数据处理和特征提取,本系列从本文开始,将陆续介绍用Spark Python对机器学习模型进行详细的探讨. 推荐引擎或许是最为大众所知的一种机器学习模型.人们或许并不知道它确切是什么,但在使用Amazon.Netflix.YouTube.Twitter.LinkedIn和Facebook这些流行站点的时候,可能已经接触过了.推荐是这些网站背后的核心组件之一,有时还是一个重要的收入来源. 推荐引擎背后的想法是预测人们可能喜好的物品并通过探寻物品

spark机器学习笔记:(五)用Spark Python构建分类模型(下)

声明:版权所有,转载请联系作者并注明出处  http://blog.csdn.net/u013719780?viewmode=contents 博主简介:风雪夜归子(英文名:Allen),机器学习算法攻城狮,喜爱钻研Meachine Learning的黑科技,对Deep Learning和Artificial Intelligence充满兴趣,经常关注Kaggle数据挖掘竞赛平台,对数据.Machine Learning和Artificial Intelligence有兴趣的童鞋可以一起探讨哦,

Spark(Python) 从内存中建立 RDD 的例子

Spark(Python) 从内存中建立 RDD 的例子: myData = ["Alice","Carlos","Frank","Barbara"]myRdd = sc.parallelize(myData)myRdd.take(2) ----In [52]: myData = ["Alice","Carlos","Frank","Barbara"

Pandas基础学习与Spark Python初探

摘要:pandas是一个强大的Python数据分析工具包,pandas的两个主要数据结构Series(一维)和DataFrame(二维)处理了金融,统计,社会中的绝大多数典型用例科学,以及许多工程领域.在Spark中,python程序可以方便修改,省去java和scala等的打包环节,如果需要导出文件,可以将数据转为pandas再保存到csv,excel等. 1.Pandas是什么? pandas是一个强大的Python数据分析工具包,是一个提供快速,灵活和表达性数据结构的python包,旨在使

[Spark][Python]sortByKey 例子

[Spark][Python]sortByKey 例子: [[email protected] ~]$ hdfs dfs -cat test02.txt00002 sku01000001 sku93300001 sku02200003 sku88800004 sku41100001 sku91200001 sku331[[email protected] ~]$ mydata001=sc.textFile("test02.txt")mydata002=mydata001.map(lam

[Spark][python]RDD的collect 作用是什么?

[Spark][Python]sortByKey 例子的继续 RDD的collect() 作用是什么? “[Spark][Python]sortByKey 例子”的继续 In [20]: mydata004.collect() Out[20]: [[u'00001', u'sku933'], [u'00001', u'sku022'], [u'00001', u'sku912'], [u'00001', u'sku331'], [u'00002', u'sku010'], [u'00003',

Spark Python 索引页

为了查找方便,建立此页 === RDD 基本操作: [Spark][Python]groupByKey例子

[Spark][Python]groupByKey例子

[Spark][Python]sortByKey 例子 的继续: In [29]: mydata003.collect() Out[29]: [[u'00001', u'sku933'], [u'00001', u'sku022'], [u'00001', u'sku912'], [u'00001', u'sku331'], [u'00002', u'sku010'], [u'00003', u'sku888'], [u'00004', u'sku411']] In [30]: mydata00