Pipe in PySpark

本文介绍了如何在PySpark中使用pipe方法将RDD数据传递给外部进程,如cat命令,并详细展示了相关的python代码示例和YARN集群上的任务提交过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官网的文档声明,pipe管道将pyspark的RDD对象fork给外部进程,然后再返回RDD对象

>>> sc.parallelize(['1', '2', '', '3']).pipe('cat').collect()
[u'1', u'2', u'', u'3']

python代码如下,外部进程为cat命令

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import os
from pyspark import SparkContext
from pyspark import SparkConf

if __name__ == '__main__':
    sc = SparkContext()
    data  = ["hi","hello","how","are","you"]
    dataRDD = sc.parallelize(data)
    pipeRDD = dataRDD.pipe('cat').collect()
    print pipeRDD

再提交任务即测试成功

spark-submit –master=yarn-client xx.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值