Spark map 处理表格数据

Spark <wbr>map <wbr>处理表格数据

总结:
- Spark 中 map函数会对每一条输入进行指定的操作,然后为每一条输入返回一个对象;
- 而flatMap函数则是两个操作的集合——正是“先映射后扁平化”:
    操作1:同map函数一样:对每一条输入进行指定的操作,然后为每一条输入返回一个对象
    操作2:最后将所有对象合并为一个对象

使用map对表格数据进行变换常用方法

地区代码地区名称所属城市所属省份
1000北京市10001000
1027密云县10001000
1028延庆县10001000
1100天津市11001100
1121宁河县11001100
1123静海县11001100
1125蓟 县11001100
1200河北省12001200
1210石家庄市12101200
1211井陉县12101200
1212鹿泉市12101200
1213正定县12101200
1214栾城县12101200

  val textFile = sc.textFile("xrli/citycode") 
    val sp = textFile.map{ line => 
      val fields = line.split("\\t")                       //map中的一个临时变量
      (fields(0),fields(1),fields(2),fields(3) )         //每行变成一个数组
    }
       
    val city = sp.filter(x => x._1 == x._3 || x._3=="NA").map(x => (x._2,x._1))
    city.saveAsTextFile("xrli/city") 


map(func):对调用map的RDD数据集中的每个element都使用func,然后返回一个新的RDD,这里是一个
(地区名称,所属城市)

(北京市,1000)
(天津市,1100)
(河北省,1200)
(石家庄市,1210)
(唐山市,1240)






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值