pyspark将RDD转成dict

孤人 提交于 2020-01-17 13:02:24

在日常的数据处理过程,需要生成一个dict。
词典数据来源主要有有:HIVE表、HDFS上的文件。

1. 从HIVE表读数据并转成dict

from pyspark import SparkContext
from pyspark.sql import HiveContext,SparkSession
sc = SparkContext()
sql_context = HiveContext(sc)

sql_data = sqlContext.sql("SELECT key,value from db.table")
sql_data_rdd = sql_data.rdd.map(lambda x : (x[0],x[1]))
my_dict = sql_data_rdd.collectAsMap()

2. 从HDFS读文件并转成dict

def map_2_dic(r):
	# r 表示一行文本
	filds = r.strip().split('\t')
	# filds[0]是key, filds[1]是value
	return filds[0], filds[1]

textRDD = sc.textFile("《your hdfs file path》")
my_dict = textRDD.map(map_2_dic).collectAsMap()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!