在日常的数据处理过程,需要生成一个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()