scala的RDD语法(随记嘿嘿)

rdd语法:(踩坑日记)

  • transformation:

  map() =>(k,(v1,v2,v3)) #最多不能超过两个数

  mapvalues()=>(v)
  flatmap()
  filter(k,v=>条件) =>后面不能用distinct,应该在前面的map之后用distinct
  repartition(n)=>重新指定分区数
  RDD1.union(RDD2) =>全部求并集
  RDD1.intersec(RDD2)=>求出交集
  distinct=>去重
  groupbykey=>(k,iterator[v])
  groupby(x)=>(x,iterator[last])
  sortbykey(fase/true,任务数)=>
  sortby=>
  RDD1.join(RDD2)=>(k,iterate<v>,iterabte<w>)
  reduceByKey=>(k,v1+v2+v3...+vn)聚集

  • action:

  reduce=>result=v1+v2+v3+...vn
  collect()
  count()=>RDD的元素个数 #与_.size不同
  first()
  take(n)
  countByKey()=>(k,int(元素个数))
  foreach()

posted @ 2022-06-01 09:44  gyrce  阅读(163)  评论(0)    收藏  举报