2019-08-14-sql-querying-apache-hbase-with-apache-phoenix.md 5.1 KB


title: Apache Phoenixを使用したApache HBaseのSQLでのクエリ author: Hue Team type: post date: 2019-08-14T01:09:14+00:00 url: /sql-querying-apache-hbase-with-apache-phoenix/ sf_thumbnail_type:

  • none sf_thumbnail_link_type:
  • link_to_post sf_detail_type:
  • none sf_page_title:
  • 1 sf_page_title_style:
  • standard sf_page_title_bg:
  • none sf_page_title_text_style:
  • light sf_background_image_size:
  • cover sf_custom_excerpt:
  • Apache Phoenix は、非リレーショナル分散データストアである Apache HBase拡張した素晴らしいアドオンです。HBase Browser上に、Editor はデータをクエリするためのより一般的な構文を提供します。 sf_social_sharing:
  • 1 sf_related_articles:
  • 1 sf_sidebar_config:
  • left-sidebar sf_left_sidebar:
  • Sidebar-2 sf_right_sidebar:
  • Sidebar-1 sf_caption_position:
  • caption-right sf_remove_promo_bar:
  • 1 categories:
  • Editor / Notebook
  • HBase
  • Hue 4.5

Apache Phoenix は、非リレーショナル分散データストアである Apache HBase拡張した素晴らしいアドオンです。HBase Browser上に、Editor はデータをクエリするためのより一般的な構文を提供します。キー/バリューストアであることでSQLにはさまざまなイディオムがあり、Hue のSQL UXの機能を完全にサポートするにはまだいくつかの洗練作業が必要なことにご注意ください。

この Phoenix についての最初のブログ記事では、Phoenix’s 15-minute tutorial のチュートリアルに従って、その後 Editor から US_POPULATION テーブルをクエリします。

HueはJDBC、または SQL Connector documentation に記載されているSqlAlchemyインターフェースをサポートしています。私たちはSqlAlchemyを洗濯します。

Hueのホストにて:

./build/env/bin/pip install pyPhoenix

続いて desktop/conf/hue.ini 設定ファイルセクションにて:

[notebook]
[[interpreters]]
[[[phoenix]]]
name = phoenix
interface=sqlalchemy
options='{"url": "phoenix://sql-phoenix.gethue.com:8765/"}'

その後 queryserver を開始します:

>phoenix-queryserver
...
19/07/24 20:55:13 INFO util.log: Logging initialized @1563ms
19/07/24 20:55:13 INFO server.Server: jetty-9.2.z-SNAPSHOT
19/07/24 20:55:14 INFO server.ServerConnector: Started ServerConnector@662b4c69{HTTP/1.1}{0.0.0.0:8765}
19/07/24 20:55:14 INFO server.Server: Started @1793ms
19/07/24 20:55:14 INFO server.HttpServer: Service listening on port 8765.

これで HBase をクエリする準備ができました!

select * from us_population limit 10

1 既存の HBase のテーブルをビューにマップする必要があります

0: jdbc:phoenix:> CREATE VIEW if not exists "analytics_demo_view" ( pk VARCHAR PRIMARY KEY, "hours"."01-Total" VARCHAR );
Error: ERROR 505 (42000): Table is read only. (state=42000,code=505)
-->
0: jdbc:phoenix:> CREATE Table if not exists "analytics_demo" ( pk VARCHAR PRIMARY KEY, "hours"."01-Total" VARCHAR );

2 テーブルは Phoenix では大文字で見えます。始めるには Phoenix でテーブルを作成する方がシンプルです。

Error: ERROR 1012 (42M03): Table undefined. tableName=ANALYTICS_DEMO (state=42M03,code=1012)
-->
0: jdbc:phoenix:> select * from "analytics_demo" where pk = "domain.0" limit 5;

3 Phoenix は Apache Calcite に従っています。SQL autocomplete の改善にご協力ください。

4 セミコロン ‘;’ をスキップします

5 セキュリティはテストしていません

6 いくつかの既知の問題は Phoenix SqlAlchemy connector page にリストしています

このCloudera の Phoenix in CDH 発表のブログ記事で Apache Phoenix の昨日の詳細をご覧ください。

フィードバックや質問があれば、この記事または @gethueまでコメントをお願いします!