失踪的小精灵
pyspark-utils的Python项目详细描述
Pyspark实用程序
失踪的小精灵。
用法
要安装:
pip install pyspark-utils
助手
importpyspark_utils.helperasspark_helper# Nicely show rdd count and 3 items.rdd=spark_helper.cache_and_log('MyRDD',rdd,3)
op
importpyspark_utils.opasspark_op# RDD<key, value> -> RDD<new_key, value>pair_rdd.map(spark_op.do_key(lambdakey:new_key))# RDD<key, value> -> RDD<result>pair_rdd.map(spark_op.do_tuple(lambdakey,value:result))# RDD<key, value> -> RDD<value, key>pair_rdd.map(spark_op.swap_kv())# RDD<key, value> -> RDD<key, value> if func(key)pair_rdd.filter(spark_op.filter_key(lambdakey:true_or_false))# RDD<key, value> -> RDD<key, value> if func(value)pair_rdd.filter(spark_op.filter_value(lambdavalue:true_or_false))# RDD<iteratable> -> RDD<tuple_or_list> with transformed values.rdd.map(spark_op.do_tuple_elems(lambdaelem:new_elem))rdd.map(spark_op.do_list_elems(lambdaelem:new_elem))# RDD<path> -> RDD<path> if path matches any given fnmatch-style patternsrdd.filter(spark_op.filter_path(['*.txt','*.csv','path/a.???']))# RDD<element> -> RDD<element, element>rdd.keyBy(spark_op.identity)# RDD<key, value> -> RDD<key, value> with keys in key_rddspark_op.filter_keys(pair_rdd,key_rdd)# RDD<key, value> -> RDD<key, value> with keys in whitelist and not in blacklistspark_op.filter_keys(pair_rdd,whitelist_key_rdd,blacklist_key_rdd)# RDD<key, value> -> RDD<key, value> with keys not in key_rddspark_op.substract_keys(pair_rdd,key_rdd)# RDD<element> -> RDD<element> where element is not Nonerdd.filter(spark_op.not_none)# RDD<key> -> RDD<key, value>rdd.map(spark_op.value_by(lambdakey:value))