Help us understand the problem. What is going on with this article?

データウェアハウスが要らなくなるというデータのミドルウェア、Dremioを使ってみる

More than 1 year has passed since last update.

データウェアハウスが要らなくなるというデータのミドルウェア、Dremioを使ってみる

image.png

最近、こちらシリコンバレーのデータ界隈でよく話題になっているDremioというテクノロジーがありますが、MongoDB、JSONファイルといった非構造型のデータや、Redshift、Postgres、SQLServerといった従来の構造型のデータに対して統一したSQLインターフェイスを提供してくれます。さらに、そうしたさまざまな種類のデータソースに対してクエリの最適化とデータのキャッシュの管理を自動的に行なってくれます。また、Apache Arrowを使用したカラムナーのインメモリ処理と、(RDBMSまたはNoSQLソースの時に)元となるデータソースへの先進的なプッシュダウンを活用し、Apache Parquetによるデータソースの高度に最適化された物理的表現を利用することで、クエリパフォーマンスを最大1000倍まで高速化できるらしいです。

言ってみるならば、データ分析者が分析に必要なデータをSQLを書くことで簡単に一元管理できるサービスといったところでしょうか。

image.png

今日はそのDremioをインストールし、ExploratoryからDremioにつないでデータをとってくる方法を紹介します。

Dremio サーバ

始める前に

もし、ご使用のマシンにJDK (Java Development Kit)がインストールされていない場合、JDKをインストールしてください。JDKはこちらからダウンロードできます。

ダウンロード

まず、DremioのダウンロードサイトからDremioをダウンロードする必要があります。このブログ記事では、Mac版のDremio Community Editionのインストールについて説明します。

image.png

インストール

インストールファイル(この例では.dmgファイル)をダウンロードしたら、ファイルをダブルクリックします。
すると以下のようなダイアログが開きます。ここで、DremioアイコンをドラッグしてApplicationsフォルダに移動します。

image.png

これでインストール完了です!ではDremioを起動してみましょう。

設定

Dremioを起動するには、今インストールしたDremioのアイコンをダブルクリックします。

image.png

そして管理画面がこのようにポップアップするので、開始ボタンをクリックします。

image.png

起動すると、Open Dremioというボタンがクリックできるようになるので、クリックします。

image.png

管理アカウントを作成

すると、ブラウザが起動するので(または、すでに起動している場合は新規のタブが開きます)、入力必須項目に必要な情報を入れて、管理アカウントを作ります。

image.png

Nextをクリックすると、無事に管理アカウントが作成できました!そして、以下のようなDremioの画面が表示されます。

image.png

サンプルソースを追加

Dremioにはサンプルソースが事前に準備されているので、それを見てみましょう。 Add Sample Source ボタンをクリックします。

image.png

すると、sample.dremio.com が追加されます。このsample.dremio.comをクリックしてみましょう。

image.png

samples.dremio.com の下に3つのサンプルソースがあるのが分かります。一番最初のサンプル(SF_incidents2016.json)をクリックしてみましょう。

image.png

すると、以下のようなダイアログが開いて、データをプレビューできます。 Save ボタンをクリックします。

image.png

すると、SQLのクエリーのダイアログが開いて、データを確認できます。

image.png

見ての通り、このサンプルファイルはローカルのファイルシステムに置いてあるJSONフォーマットのデータですが、ここでSQLを書いて一部のデータを持ってきたり、集計しちゃうことができるんです。この辺の詳しい話はまた別の機会に紹介したいと思います。

Dremio ODBC ドライバー

ExploratoryからDremioにはODBCでアクセスすることができるので、Dremio用のODBCをインストールします。以下はMacの例です。

ダウンロード

Dremio本体をダウンロードしたのと同じページから、Dremio ODBC Driverをダウンロードします。

image.png

インストール

ダウンロードしたファイル(この例では.dmgファイル)をダブルクリックしました。これにより、以下のようなウィンドウが開きます。

image.png

Dremio ODBC.pkgファイルをダブルクリックします。ダイアログの指示に従います(Continueと「続行してライセンスに同意する」をクリックするだけです)

image.png

マシンのアカウント情報を聞かれたら、適宜入力してインストールを続けます。

image.png

これでインストールは完了です!

image.png

Exploratoryでデータソースを設定

Exploratory Desktopで、プロジェクト・リストのページまたはプロジェクトを開いた後のヘッダーメニューのいずれかから接続ダイアログを開きます。

プロジェクトのヘッダーメニューからコネクションダイアログを開く

プロジェクトを開き(または新規に作成し)、ヘッダーメニューからコネクションを選びます。

image.png

新規にDremioコネクションを追加

コネクションリストのダイアログで追加ボタンをクリックします。

image.png

コネクション選択のダイアログで、Dremioのアイコンをクリックします。

image.png

以下の情報を入力します。

  • 名前
  • ホスト (この例ではlocalhost)
  • ポート (デフォルトは31010)
  • ユーザー名 (先ほど作ったDremio 管理アカウントのユーザー名)
  • パスワード(先ほど作ったDremio管理アカウントのパスワード)

image.png

コネクションをテスト

これらのフィールドに入力したら、コネクションをテストボタンをクリックしてテストし、正常に接続できることを確認します。

image.png

接続がうまく行ったら追加ボタンをクリックしてこのコネクションを追加します。

Dremioからデータをとってくる

画面左側にあるツリーの、データフレームというラベルの横にあるプラス(+)のボタンをクリックして、データベースデータを選択します。

image.png

そして、以下のダイアログでDremioを選択します。

image.png

さきほど作成したDremio用のコネクション(Dremio - ローカル)を選択し、 画面左側のスキーマの下にあるSamples.'sample.dremio.com'をクリックして開くと、先ほどサンプルからDremioで追加したSF_incidents2016.jsonが表示されます。テーブル名をクリックすると、SQLエディタで次のクエリが自動的に設定されるので、プレビューボタンをクリックします。するとExploratoryからDremioにクエリーが発行されて、結果を確認することができます。

select * from "Samples.'samples.dremio.com'"."SF_incidents2016.json"

image.png

ここから先は、Dremioからインポートしたデータを使って、Exploratory Desktopで探索的なデータ分析を試してみてください!

image.png

まとめ

このポストではDremioとODBCドライバをマシンにインストール/セットアップし、ExploratoryからDremioデータにアクセスする方法を説明しました。次のブログ記事では、DremioとExploratoryを使ってサンプル以外の実際のデータ(JSONファイル、MongoDB、Redshiftなど)をどのようにクエリできるかについて説明します。


まだExploratory Desktopをお持ちでない場合は、こちらから30日間無料でお試しいただけます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした