LoginSignup
2
1

More than 5 years have passed since last update.

SparkをEMRで使ってみたかった

Last updated at Posted at 2017-03-23

下記サイトを参考、、というより、ほぼそのまま実施
http://www.atmarkit.co.jp/ait/articles/1609/27/news018.html

CSV作成

csvをrubyで作成。s3にアップロード

sbtプロジェクトを作成

build.sbt

name := "SparkExampleApp"

version := "1.0"

scalaVersion := "2.11.7"

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % "2.1.0",
  "org.apache.spark" %% "spark-mllib" % "2.1.0",
  "org.apache.spark" %% "spark-sql" % "2.1.0",
  "com.databricks" %% "spark-csv" % "1.4.0"
)

ソースコードは下記を丸コピ

使用するsparkのspark-defaults.confに下記を追記

spark-defaults.conf
spark.jars.packages  com.amazonaws:aws-java-sdk:1.7.4,org.apache.hadoop:hadoop-aws:2.7.3

s3にフルアクセスできるユーザー作成

(若干ポリシー周りのUIが違うが気をつけて)

アクセスキーとシークレットキーをコピーしておく

先ほどのSparkExampleApp.scalaにアクセスキーとシークレットキーを貼り付け

実行

ローカルで実行

./bin/spark-submit --class SparkExampleApp --master local {自分の作成したjarファイルのpath} {S3に配置したdata.csvのパス) {S3の保存先のパス}

下記みたいな感じになる

./bin/spark-submit --class SparkExampleApp --master local ~/Desktop/SparkExampleApp/target/scala-2.11/spark-sample-project_2.11-1.0.jar s3n://my-bucket-name/data.csv s3n://my-bucket-name/output.csv

マシンの性能が足りないとtmpファイルがs3にアップロードされる

EMRではしっかり動くのであとは最初の記事通り設定すればOK

スクリーンショット 2017-03-24 2.51.33.png

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1