フォルダがあるディレクトリがあり、各フォルダには圧縮されたJSONファイル(.gz
)が含まれています。S3からJsonファイルを読み込む最も速い方法は次のとおりです。Spark
val df = sqlContext.jsonFile("s3://testData/*/*/*")
df.show()
例::現在、私は次のようにやっている
testData/May/01/00/File.json.gz
各圧縮ファイルを約11〜17 GBです。
私が持っている:
- マスター:1 c3.4xlarge
- コア:19 c3.4xlarge
- スパーク1.5.2
- EMR-4.2.0
圧縮ファイルには複数のjsonオブジェクト/ファイルがあります。このプロセスは、読んだだけでは膨大な時間がかかります(上記の2つのステートメントだけ)。これを行うより速い方法がありますか?スキーマも少し複雑です。データセットの分析にいくつかのクエリを書くつもりです。しかし、私はs3からデータを読み取るのにかかる時間について心配しています。
最大負荷は10TBです。キャッシュを使用してクエリを処理する予定です。
http://tech.kinja.com/how-not-to-pull-from-s3-using-apache-spark-1704509219 – zero323