双六工場日誌

平凡な日常を淡々と綴ります。

Hadoop Conference Japan 2014 参加メモ(個別セッション③) #hcj2014

Hadoop Conference Japan 2014 参加メモ(キーノート) #hcj2014Hadoop Conference Japan 2014 参加メモ(個別セッション①) #hcj2014Hadoop Conference Japan 2014 参加メモ(個別セッション②) #hcj2014 の続きです。

メモはここまで。

並列SQLエンジンPresto - 大規模データセットを高速にグラフ化する方法

  • 古橋 貞之(Treasure Data)

f:id:sechiro:20140708172110j:plain

  • 会場でPrestoを使っている人はどれぐらいいますか?

    • 10人ぐらい
      • これは話し甲斐がある
  • HDFS上のデータを可視化したい

    • Hiveは、可視化には遅すぎる
      • ODBC接続が安定しない
        • ただし、Hiveは、巨大なJOINなどでは有効
    • Redshift, PostgreSQLは、コストが高いし、スケーラビリティが低かったり
    • 中間データベースを使うと、余計な手間がかかる
  • Prestoを使うと解決可能

    • PrestoはHiveにもMySQL上にあるデータにもクエリを投げられる
    • Prestoをハブとして解析プラットフォームを作れる
  • 全体アーキテクチャ

    • Coodinator/worker/discovery service
      • Worker -> Connector -> Data sourceとデータを取得
    • クライアントからCoodinatorにクエリ(クライアントは複数ある)
    • SQLメタデータから実行計画を立てる
    • Prestoは、既存のDBに対してクエリを投げるサービス
      • クエリはHTTPとJSONで投げる

f:id:sechiro:20140708174920j:plain

  • Connector

    • Hive
    • Cassandra
    • MySQL(beta)
  • BI tools needs

    • ODBC: Tableau, Cognos, QlickView, Chart.IO
    • JDBC: JasperSoft, Pentaho, MotionBoard
      • しかし、ODBC/JDBCは非常に複雑
  • Prestgres

    • PostgreSQL protocol gateway
      • PostgreSQLODBC/JDBCで接続できる
      • PostgreSQL に見えるんだけど、裏ではPrestoが動く

        • pgpool-Ⅱを改造してクエリを書き換える
        • 書き換えたクエリがPostgreSQLの中でさらに各サービスへのクエリに変換される
      • Tableau/ChartIOからクエリをかけられる

  • Prestoの実行モデル

    • DAG
    • 全タスクが一斉に走るのがMapReduceとの違い
      • MapReduceでは、Task終了待ちができる。
  • Monitoring

    • Web UI
    • JMX HTTP API
      • 運用が考えられていて成熟している
  • Laad map

    • Huge JOIN and Group by
    • Task revovery
    • Create View
    • Plugin repository
    • Native store
  • 情報源

  • QA

    • 想定質問としてあるのが、Impalaと較べてどうなのか
      • 確かにImpalaと比べると遅い
        • アグリゲーションの最適化が図られているので、だんだん早くなっている。開発スピードが早い。
      • impalaよりも、リソース管理がしっかりしており、メトリクスが取りやすい。運用が考慮されている。
        • 拡張性が高く、開発がオープン。
        • プルリクエストが2,3週間でマージされる

内容のメモは以上です。