PySpark NoteBook-10. Execute a P
2018-01-14 本文已影响49人
7125messi
运行以下命令:
[root@106]$ spark-submit - -master local[2] innerJoinInPySpark.py
在PySpark Shell中,PySpark自己创建了SparkContext作为sc的对象,使我们能够使用它。
但在PySpark脚本中,我们必须创建自己的SparkContext。 SparkContext是一种使用PySpark提供的API的方法。
因此,有两个额外的行。 第一行导入SparkContext,第二行创建应用程序名称(appName)innerDataJoining的SparkContext对象。 让我们在PySpark本地模式下运行这个PySpark脚本。
innerJoinInPySpark.py的内容如下:
from pyspark import SparkContext
ourSparkContext = SparkContext(appName = 'innerDataJoining')
ourSparkContext.setLogLevel('ERROR')
studentData = [['si1','Robin','M'],
['si2','Maria','F'],
['si3','Julie','F'],
['si4','Bob', 'M'],
['si6','William','M']]
subjectsData = [['si1','Python'],
['si3','Java'],
['si1','Java'],
['si2','Python'],
['si3','Ruby'],
['si4','C++'],
['si5','C'],
['si4','Python'],
['si2','Java']]
studentRDD = ourSparkContext.parallelize(studentData, 2)
studentPairedRDD = studentRDD.map(lambda val : (val[0],[val[1],val[2]]))
subjectsPairedRDD = ourSparkContext.parallelize(subjectsData, 2)
studenSubjectsInnerJoin = studentPairedRDD.join(subjectsPairedRDD)
innerJoinedData = studenSubjectsInnerJoin.collect()
print (innerJoinedData)