OSSへデータを送ります。ゴールとしては以下のような構成図になります。Sparkとは何かを説明しました。これを使ってやる理由について説明します。SparkはTB、PB、EB級の大量データを扱うことができます。マシン1台で処理できないデータでも、E-MapReduceとSparkを使えば分散してデータを取得・処理することができます。そのため、処理に時間がかかるものはSparkを積極的に活用することで、ビジネス上メリットを得ることができます。Sparkの便利なことはIN/OUTデータソースが様々な形式へサポートしています。Parquetとして保存したり、MySQLやOracleのデータをHDFSとして保存、逆にOracleのデータをMySQLへ移植、HDFS_Parquetをcsvファイルへ保存することも可能です。◯それでは実際にSpark処理をやってみます。今回はE-MapReduceを使って実装します。※ECSでも実現可能。その場合、スタンドアロン(単体)での処理になります。Batch処理をする前に、処理の流れとしてSparl-Shellを使って説明します。以下サンプルを入れていますので、流れをみていただければと思います。"true").save('oss://bigdata-prod-tech/nyc-taxi/yellow_tripdata/from_spark_csv/')>>>結果、OSSに加工処理したDataFrameがcsvとして保存されました。ここでポイントとなる点は以下の通りです。Sparkを生み出した会社「databricks」によるフレームワークを使って処理になります。詳しくはこちらを参照ください。単数のjson形式をDF(DataFrame)へ読み込む。"xxxxx").save()Spark(batch型)を作成し実行する。上記、ファイルのRead/Writeは理解できたと思いますので、これをBatchとして組み込み、実行します。CSVファイル全データをOSSのHDFS_Parquetへ変換し保存するものです。このようなcsvファイルがあるとします。次に、convert2parquet.pyというPython実行ファイルを作成します。本来はScalaでやったほうが役120倍高速ですが、解説のためにPythonで実施します。SparkによるETLはCore台数を20〜100台にするとより高速処理ができます。1時間以内、早い時間で処理が終われば早いほどその分投資回収もできます。passspark.stop()このファイルを以下のコマンドで実行してください。以下の例はCoreが2台の場合の例です。Spark-submit引数のより詳しい説明は別の章にて説明します。Parquetファイルたちができました。ApacheSpark(Streaming)からOSSへ08/30/2019。