[レポート] Spark Directを使ったワークフローの実装 – Alteryx Inspire 2018 #alteryx18

現地時間2018年06月04日〜2018年06月07日に米国アナハイムで開催されているAlteryxの年次カンファレンスイベント「Inspire 2018」。今回クラスメソッドからは計4人のメンバーが現地参加しています。

当エントリではイベント初日に行われたトレーニングセッション「Apache Spark Direct」について、その内容をレポートしたいと思います。

目次


 

セッション概要

当トレーニングセッションの概要は以下の通りです。

セッションタイトル:
Apache Spark Direct

登壇者(トレーニング講師):
David Wilcox
JP Kabler
Brandon Kirkland
Gary Schwartz
Stephen Ahlgren
Tanya Stere

トレーニング概要:
In this course, business analysts will learn to leverage Spark to perform data prep and blending on massive datasets, without writing a single line of code. Additionally, data scientists and engineers will learn how to embed advanced Spark operations written in Python, R, or Scala into Alteryx workflows by using the Spark Code tool.
(このコースでは、ビジネスアナリストはSparkを活用して、コードを1行も書くことなく、膨大なデータセットのデータ準備とブレンディングを実行する方法を学びます。 さらに、データ科学者とエンジニアは、Spark Codeツールを使用して、Python、R、Scalaで書かれた高度なSparkオペレーションをAlteryxワークフローに埋め込む方法を学びます。)

 

セッションレポート

このトレーニングは、Alteryx Designer 2018.1から追加された機能であるSpark Directをどのように利用するかを学ぶことができるものになっています。 実際に利用する接続先はDatabricks on AWS環境となっており、この環境への接続サポートは2018.2以降となるため、"最新"の情報をすぐに学ぶことが可能なセッションとなっていました。

 

Sparkの概要とAlteryxでのサポート

トレーニングでAlteryxからSparkを使い始める前に、そもそもSparkとなんなのかやAlteryxがサポートしているものについての解説がありました。

Sparkの簡単な概要として、

  • スケーラブルな分散処理システムである
  • Scala, Python, R, Javaを使って処理を記述できる
    • ただしAlteryxから利用する場合はJavaは対応していない
  • 基本的なETL処理の記述から機械学習ライブラリなども含めた高度な処理を行うためのエコシステムが存在している

といった内容に触れられています。

Spark Directの機能としては、2018.1から正式リリースされています。 Apache Livyが利用可能なクラスタであればAlteryxから直接つないで処理を実行することが可能になっています。

2018.2からはAWS上でのDatabricks環境への接続も可能になっており、Microsoft Azure上でのDatabricks環境への接続にも今後対応していくとのことです。

Spark Directを使ってAlteryxからSparkを利用する方法は2種類あります。

  • ワークフローの作成のみで実現するコードフリーな方法
  • プログラムでSparkの処理フローを記述するコードフレンドリーな方法

 

コードフリーな利用

最初にコードフリーな方法でSparkへアクセスする方法を実践します。 とはいえ、これはびっくりするくらい簡単です。

まず通常のIn-DBツールを使った時と同じようにワークフローを作成します。

In-DBの接続先を新規に作成すると「Apache Spark Direct」と「Apache Spark on Databricks」という選択しがあるので、実際の接続先に合わせて選択します。 その後表示される接続先に関する情報を記述すればIn-DBツールを使ったワークフローでSparkで処理を実行できる状態になります。 接続先に変更がない場合は2回目以降は保存したSpark Directの接続先情報がそのまま使えます。

 

コードフレンドリーな利用

コードフレンドリーな利用も非常に簡単です。 2018.1以降のAlteryx DesignerではApache Spark Codeツールがあるのでそれを利用します。

コードフリーな利用方法と同様Connect In-DBツールでSparkに接続した先にこのApache Spark Codeツールを配置します。 あとは、Rツールと同じようなノリでSparkのコードを記述することが可能です。

 

おわりに

Alteryx Inspire 2018のトレーニングセッション「Apache Spark Direct」のレポートを書かせていただきました。 今回のSpark Directに限らず、Alteryxでは「プログラムが書ける」分析者にとっても非常に便利な機能が続々と登場しています。 もちろん、従来通りコードフリーなワークフローの作成のみで利用することも可能ですが、今後はより一層さまざな人たちがデータ分析に活用できるツールとして広がっていくことが予想されます。