PySpark の RDD 入門

PySparkで学ぶBig Data入門

Upendra Devisetty

Science Analyst, CyVerse

RDD とは?

  • RDD = Resilient Distributed Datasets(耐障害性のある分散データセット)

rdd

PySparkで学ぶBig Data入門

RDD を分解して理解する

  • Resilient Distributed Datasets

    • Resilient: 障害に耐える能力

    • Distributed: 複数マシンに分散

    • Datasets: 分割されたデータの集合(配列、表、タプル など)

PySparkで学ぶBig Data入門

RDD の作成方法

  • 既存のオブジェクト集合を並列化

  • 外部データセット:

    • HDFS 上のファイル

    • Amazon S3 バケット内のオブジェクト

    • テキストファイルの各行

  • 既存の RDD から作成

PySparkで学ぶBig Data入門

コレクションの並列化(parallelizing)

  • parallelize() は Python リストから RDD を作成
numRDD = sc.parallelize([1,2,3,4])
helloRDD = sc.parallelize("Hello world")
type(helloRDD)
<class 'pyspark.rdd.PipelinedRDD'>
PySparkで学ぶBig Data入門

外部データセットから

  • textFile() は外部データセットから RDD を作成
fileRDD = sc.textFile("README.md")
type(fileRDD)
<class 'pyspark.rdd.PipelinedRDD'>
PySparkで学ぶBig Data入門

PySpark におけるパーティションの理解

  • パーティションは大規模分散データセットの論理的分割です

  • parallelize() メソッド

numRDD = sc.parallelize(range(10), minPartitions = 6)
  • textFile() メソッド
fileRDD = sc.textFile("README.md", minPartitions = 6)
  • RDD のパーティション数は getNumPartitions() メソッドで取得できます
PySparkで学ぶBig Data入門

演習に進みましょう

PySparkで学ぶBig Data入門

Preparing Video For Download...