Ibisを使ってみた(2)

前回セットアップしたIbisを使ってみましょう。
前回の最後の手順で起動したノートブックにはIbisのチュートリアルが用意されています。
notebookまずはbasic tutorialから試してみましょう。

チュートリアル1: Intro and Setup

tutorial1In[数字]: にカーソルを合わせ、三角のアイコンをクリックして実行すると、結果が Out[数字]: に戻ってきます。
Intro and Setupでは、VirtualBox で起動した仮想マシン(のImpala)に接続しています。ここではImplyaと同じパラメータが利用でき、HDFSにはWebHDFS経由で接続できています。

チュートリアル2: Basics Aggregate Filter Limit

チュートリアル2では、事前に用意されている functional_alltypes というテーブルに接続して処理を行います。
tutorial2
[code]
table = con.table(‘functional_alltypes’)
[/code]
このようにしてテーブルにアクセスし、以下のようにPandasのように列を指定します。
[code]
col = table.double_col
[/code]
ibis.options.interactive = True を指定することで、インタラクティブにアクセスすることもできます。
[code]
table.limit(10)
<pre> id bool_col tinyint_col smallint_col int_col bigint_col float_col \
0 5460 True 0 0 0 0 0.0
1 5461 False 1 1 1 10 1.1
2 5462 True 2 2 2 20 2.2
3 5463 False 3 3 3 30 3.3
4 5464 True 4 4 4 40 4.4
5 5465 False 5 5 5 50 5.5
6 5466 True 6 6 6 60 6.6
7 5467 False 7 7 7 70 7.7
8 5468 True 8 8 8 80 8.8
9 5469 False 9 9 9 90 9.9
double_col date_string_col string_col timestamp_col year month
0 0.0 07/01/10 0 2010-07-01 00:00:00.000 2010 7
1 10.1 07/01/10 1 2010-07-01 00:01:00.000 2010 7
2 20.2 07/01/10 2 2010-07-01 00:02:00.100 2010 7
3 30.3 07/01/10 3 2010-07-01 00:03:00.300 2010 7
4 40.4 07/01/10 4 2010-07-01 00:04:00.600 2010 7
5 50.5 07/01/10 5 2010-07-01 00:05:00.100 2010 7
6 60.6 07/01/10 6 2010-07-01 00:06:00.150 2010 7
7 70.7 07/01/10 7 2010-07-01 00:07:00.210 2010 7
8 80.8 07/01/10 8 2010-07-01 00:08:00.280 2010 7
9 90.9 07/01/10 9 2010-07-01 00:09:00.360 2010 7</pre>
[/code]
合計を計算したり、groupby、limitの指定などもできます。
[code]
table.double_col.sum()
<pre>331785.00000000006</pre>
[/code]
[code]
metrics = [table.double_col.sum().name(‘total’)]
expr = table.group_by(‘string_col’).aggregate(metrics)
expr
<pre> string_col total
0 0 0
1 5 36865
2 4 29492
3 8 58984
4 3 22119
5 6 44238
6 7 51611
7 9 66357
8 1 7373
9 2 14746</pre>
[/code]
[code]
table.limit(2)
<pre> id bool_col tinyint_col smallint_col int_col bigint_col float_col \
0 5460 True 0 0 0 0 0.0
1 5461 False 1 1 1 10 1.1
double_col date_string_col string_col timestamp_col year month
0 0.0 07/01/10 0 2010-07-01 00:00:00 2010 7
1 10.1 07/01/10 1 2010-07-01 00:01:00 2010 7</pre>
[/code]
チュートリアルは豊富に用意されています。是非試してください。
次回はImpalaのWebUIからクエリを確認してみましょう。

コメント