kitaro-tn
8/1/2017 - 9:09 AM

Sparkメモ

Sparkメモ

Spark

パッケージ

  • Spark SQL
  • Spark Streeming
  • Mllig(Machine learning)
  • GraphX(graph)

データ操作

  • RDD
  • dataframe(SQL)

SQL

  • SELECT
  • GROUP BY
  • ORDER BY
  • 数学関数
  • 文字関数
  • Window関数
  • JOIN
  • UNION
  • サブクエリ

etc...

https://spark.apache.org/docs/latest/sql-programming-guide.html#supported-hive-features

データソース

  • hadoop
  • s3
  • RDBMS
  • ElasticSearch

hadoop以外はConnector jarを利用する必要がある

etc...

Mllib(ML)

Spark機械学習ライブラリ

  • mllib : RDDベース (今後の機能追加は行わず、バグフィックスのみで、mlに機能移行中)
  • ml : dataframeベース (こっちが新しく推奨されている)

できること

  • 基本的な統計
  • 分類と回帰
  • 協調フィルタリング
  • クラスタリング
  • 次元削除
  • 特徴量抽出および変形
  • 頻出パターンマイニング
  • 評価マトリックス
  • PMML モデル抽出

https://spark.apache.org/docs/latest/ml-guide.html

EMR

チューニング

dataframe cache

df.cache()  # キャッシュ利用
df.is_cached # キャッシュ確認
df.unpersist() # キャッシュ廃棄

SQL

spark.sql("CACHE [LAZY] TABLE [db_name.]table_name")  # キャッシュ利用
spark.sql("UNCACHE TABLE [db_name.]table_name") # キャッシュ廃棄

効果あった設定

  • spark.rdd.compress
  • spark.sql.shuffle.partitions
  • spark.sql.inMemoryColumnarStorage.batchSize
  • spark.sql.broadcastTimeout
  • spark.sql.files.openCostInBytes