spark RDD基礎裝換操作 zip操作

2021-10-02 10:37:37 字數 1064 閱讀 2432

將數字1~3組成的rdd,與字母a到c組成的rdd應用拉鍊(zip)操作,合併到乙個新的rdd中。

scala>  val rdddata1 = sc.parallelize(1 to 10,5)

rdddata1: org.apache.spark.rdd.rdd[int] = parallelcollectionrdd[32] at parallelize at :24

scala> val rdddata2 = rdddata1.glom

scala> rdddata2.collect

res13: array[array[int]] = array(array(1, 2), array(3, 4), array(5, 6), array(7, 8), array(9, 10))

scala> val rdddata1 = sc.parallelize(1 to 3, 2)

rdddata1: org.apache.spark.rdd.rdd[int] = parallelcollectionrdd[34] at parallelize at :24

scala> val rdddata2 = sc.parallelize(array("a","b","c"),2)

rdddata2: org.apache.spark.rdd.rdd[string] = parallelcollectionrdd[35] at parallelize at :24

scala> val rdddata3 = rdddata1.zip(rdddata2)

rdddata3: org.apache.spark.rdd.rdd[(int, string)] = zippedpartitionsrdd2[36] at zip at :28

scala> rdddata3.collect

res14: array[(int, string)] = array((1,a), (2,b), (3,c))

說明:

zip操作可以將兩個rdd中的元素,以鍵值對的形式合併。

在使用zip操作時,需要確保兩個rdd中的元素個數與分割槽個數完全一樣,否則會出現異常。

python強制裝換

對python內建的資料型別進行轉換時,可以使用內建函式,常用的型別轉換函式如下 python常用型別轉換函式 函式格式 使用示例 描述int x base int 8 可以轉換的包括string型別和其他數字型別,但是會丟失精度 float x float 1 或者float 1 可以轉換stri...

Spark RDD程式設計基礎

從檔案建立rdd lines sc.textfile 篩選出含某個單詞的行 lines.filter lambda 引數 條件表示式 生成單詞的列表 從列表建立rdd words sc.parallelize 篩選出長度大於10 的單詞 words.filter 從檔案建立rdd lines sc....

SparkRDD操作經驗

可以指代集合中的每乙個元素 篩選出可以被2整除的數 a.filter 2 0 map 2 注 在reducebykey中指代的是鍵值對中的值 參考 將某些經過了複雜計算得到的rdd存入快取中,避免下次呼叫時重複計算 將userinfomation這個rdd儲存到快取中 userinfomation....