spark打印RDD的值

初学spark,记录一些小白问题,比如打印RDD或者list的值

    val conf = new SparkConf().setAppName("my spark").setMaster("local")
    val sc = new SparkContext(conf)
    val data = sc.parallelize(1 to 10, 3)
    println("foreach list")
    data.collect().foreach(print)
    println("")

    println("foreach RDD")
    data.foreach(print)
    println("")

运行结果:

 

 

 

 

 

### Spark 中 Pair RDD 的使用方法及示例 #### 定义与创建 Pair RDD Pair RDD 是一种特殊的 RDD,其中每个元素都是由键对组成的。可以利用现有的数据集通过转换操作来创建 Pair RDD。 ```python from pyspark import SparkContext sc = SparkContext("local", "pair_rdd_example") data = [(1, 2), (3, 4), (3, 6)] rdd = sc.parallelize(data) ``` 此代码片段展示了如何基于 Python 列表 `data` 创建一个名为 `rdd` 的 Pair RDD 实例[^1]。 #### 行动操作实例 ##### countByKey 用于统计每种键的数量: ```python result_count_by_key = rdd.countByKey() print(dict(result_count_by_key)) ``` 这段代码将会输出 `{1: 1, 3: 2}` ,表示对于给定的数据集中键 '1' 和 '3' 各自出现了一次和两次[^4]。 ##### collectAsMap 将整个 Pair RDD 收集到驱动程序端作为字典返回: ```python map_result = rdd.collectAsMap() print(map_result) ``` 这会打印出类似于 `defaultdict(<class 'list'>, {1: 2, 3: 4})` 结果;请注意这里只显示了第一个遇到的,因为字典不允许重复键存在. ##### lookup 查找特定键关联的所有: ```python looked_up_values = rdd.lookup(3) print(list(looked_up_values)) ``` 上述命令会展示 `[4, 6]` 这两个数,它们都与键 '3' 关联在一起. #### 转换操作实例 考虑另一个例子说明 `subtractByKey` 方法的作用——它允许从当前 RDD 移除那些其键存在于参数指定的其他 RDD 当中的项: ```python another_data = [(3, 8), (5, 9)] another_rdd = sc.parallelize(another_data) subtracted_rdd = rdd.subtractByKey(another_rdd) collected_subtraction_results = subtracted_rdd.collect() for item in collected_subtraction_results: print(item) ``` 该脚本最终会输出 `(1, 2)` , 因为原本属于原 RDD 的一对 `(3, *)` 已经被移除了,而剩下的唯一一项就是 `(1, 2)` [^2].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值