ablog

不器用で落着きのない技術者のメモ

PySpark on EMR で S3 のテキストファイルを読む

  • ファイルを作成して S3 にアップロードする
$ perl -le 'print for 1..100000000' > number.txt
$ head -3 number.txt
1
2
3
$ tail -3 number.txt
99999998
99999999
100000000
$ aws s3 cp number.txt s3://az-sample/
  • EMR のマスターノードで PySpark からテキストを読む
$ pyspark
>>> rdd = sc.textFile("s3://az-sample/number.txt")
>>> rdd.first()
u'1'
>>> rdd.count()
100000000
>>> rdd.top(3)
[u'99999999', u'99999998', u'99999997']
$ nethogs
$ dstat -tncd 5