Skip to Content

このページは、以下の英語ページの抄訳です。最新の情報については、英語ページを参照してください。

 
(記事では英語版のSQL Anywhere を使用していますが、SQL Anywhere には日本語版もあります。)

 

 

 

1  はじめに

 

SQL Anywhere を使ったHadoop と Hive の設定へようこそ !

 

Hadoop は、ビッグデータを扱うためにデザインされたオープンソースのフレームワークです。大量のデータを複数のコンピューターのクラスターに分散することができます。そしてデータを返す際には、MapReduce アルゴリズムを実装して、ワークをクラスター(map)にわたって分割し、データを再統合(reduce)します。

 

Hive は、Hadoop のトップで使用できるインフラストラクチャーです。MapReduce または、コードファイルを使用することなく、データへのアクセスを可能にします。Hive は、テーブルの作成が可能で、これは Hadop File System (HDFS) 内のディレクトリに格納されます。これらのテーブルは、HiveQL、つまり、SQL-92のサブセットであり MapReduce コールを作成するもの、を使用してアクセスすることが可能です。

 

備考: Hive のクエリは、サーバーにアクセスしなければならないため、MapReduce のジョブと集合結果を待ちましょう。プロキシーテーブルへのアクセスは、かなり遅い可能性が高いです。

 

このガイドは、SQL Anywhere を使用して、Hortonworks Hadoop Hive サーバーと HiveQL の設定をガイドするものです。SQL Anywhere のインストール、設定、または使用をガイドするものではありません。 SQL Anywhere については、マニュアルを参照ください。 http://dcx.sap.com/index.html

 

SQL Anywhere のガイドでは、Windows のマシンへのインストールを想定しています。

 

 

 

2  HADOOP 環境をインストールする

 

Hortonworks Sandbox は、Hadoop 環境のディストリビューションで、スタンドアロンのバーチャルマシンとしてインストールします。この環境は、ポータブルな Hadoop 環境で、より小さくより簡単に使用できます。しかしながら、マルチノードのクラスターや、完全なHadoop のインストレーションの機能の一部は使えません。完全なプラットフォームについては、Hortonworks Data Platform を検討してください。

 

製品をダウンロードして、以下に掲載されているインストレーションの指示に従ってください。

http://hortonworks.com/products/hortonworks-sandbox/#install

 

備考:このインストレーションでは、 VMware Player、Virtualbox またはそれ相当のソフトウェアのインストレーションが必要です。

 

ダウンロードのリンクは、Hortonworks のWebsite に掲載されています。

 

Set Up Hortonworks Hadoop with SQL Anywhere1.png

この最もシンプルなインストレーションのプロセスには、VMware Player を使用します。それから、プレイヤーが提供するファイルを開いてインポートしてください。

 

これがインストールされて動くようになれば、提供された IP アドレスを使用して Hive サーバーに接続、または、web ブラウザ内の Hadoop UI にアクセスすることができます。

 

IP アドレスがアクセス可能かどうか確認するには、提供された IP アドレスをweb ブラウザに入力します。sandbox を継続して、以下に近いページにアクセスできるはずです。

 

/wp-content/uploads/2015/03/2_656613.png

備考: ネットワークのセキュリティによっては、この Hadoop VM のために生成された IP アドレスへのアクセスが制限される場合があります。同じサブネット内の他のデバイスからのみアクセス可能かもしれません。IQ が稼働しているホストが、この IP にアクセスできるかどうか確認してください。

 

 

 

3  Windows 環境を設定する。

 

備考: さらなるこの設定のスクリーンショットとガイドは、以下に掲載されています。

http://hortonworks.com/hadoop-tutorial/how-to-install-and-configure-the-hortonworks-odbc-driver-on-windows-7/

 

3.1  Hortonworks ODBC ドライバーをインストールする。

 

SQL Anywhere がインストールされた Windows の環境では、Hive サーバーにアクセスするためにはHortonworks ODBC ドライバーを、使用する必要があります。

 

これは、以下のリンクからダウンロードすることができます。

http://hortonworks.com/products/hdp/hdp-1-3/#add_ons

 

適切な .msi file (32 or 64-bit) を保存して、

ダブルクリックしてファイルを実行します。

インストレーションが完了すれば、全プロンプトで継続できます。

 

3.2  ODBC ドライバーの設定

 

インストールされた ODBC ドライバーを使用するには、ODBC 設定を使用する必要があります。

 

Control Panel を開きます。そして、「Administrative Tools」を選択します。「Data Sources (ODBC)」をダブルクリックします。

「System DSN」タブをクリックします。

「Sample Hortonworks Hive DSN」を選択して、「Configure」をクリックします。

表示されたウィンドゥの中に、Host に Hortonworks インストレーションからの IP アドレスを使用した情報を、User Name に「sandbox」を入力します。

 

/wp-content/uploads/2015/03/3_656615.png

 

 

 

4  Sybase Central を使用して接続する。

 

環境と DSN が設定されたので、これらを使用して Hive サーバーにアクセスすることができます。Hive サーバーへのアクセスに Sybase Central のグラフィカルなツールでなく、Interactive SQL で実行される SQL 文を使用したい場合には、このセクションをスキップして、セクション5 に移動してください。

 

ここでは、リモートサーバー、それから必要に応じてプロキーシーテーブルを作成してから、Hive サーバーに既存のSQL Anywhere サーバーからアクセスします。

 

Sybase Central を開きます。

サーバーまたはデータベースが接続されていない場合には、接続を追加します。

/wp-content/uploads/2015/03/4_656617.png

 

 

トップメニューの「Connections」をクリックし、「Connect with SQL Anywhere 16 」を選択します。

 

適応可能な、作成されたまたは稼働しているデータベースのどれでも接続します。この例では、SQL Anywhere のインストレーションに付属しているデモデータベースに接続します。

ここでは、「Connect with an ODBC Data Source」を選択します。「ODBC Data Source Name」を選択して、 「Browse…」をクリックしてデータソースを選択します。

 

/wp-content/uploads/2015/03/5_656618.png

「SQL Anywhere 16 Demo」を選択して、OK をクリックします。

 

備考:Hive サーバーをサーバーとしてプロキシーテーブルなしにアクセスしたい場合には、 「Sample Hortonworks Hive DSN」 に直接接続することもできます。しかしながら、この場合、SQL Anywhere データと、Hive データに同時にアクセスすることはできません。

 

/wp-content/uploads/2015/03/6_656620.png

次に、「Connect」 をクリックします。デモデータベースへの接続には、User ID または Password は必要ありません。

 

/wp-content/uploads/2015/03/7_656622.png

 

「Folders」 アイコンをクリックして、フォルダーのビューを変更します。

 

4.1  リモートサーバーを作成する。

 

次に、リモートサーバーを作成します。

 

/wp-content/uploads/2015/03/8_656623.png

「Remote Servers」上で、右クリックして、「New」、「Remote Server…」を選択します。

 

/wp-content/uploads/2015/03/9_656627.png

 

リモートサーバーの名前を選択して、「Next」をクリックします。

/wp-content/uploads/2015/03/10_656628.png

 

サーバーのタイプに「Generic」を選択して「Next」をクリックします。
/wp-content/uploads/2015/03/11_656629.png

接続情報として ODBC ドライバーの設定で作成されたDSN の名前を特定し、「Next」をクリックします。リモートサーバーが作成されるまで続けて「next」をクリックしてデフォルト設定のまま進みます。

 

4.2  プロキシーテーブルを作成してアクセスする。

 

次に、Hive サーバー内のテーブルにポイントするSQL Anywhere 内のプロキシーテーブルを作成します。

 

/wp-content/uploads/2015/03/12_656633.png

「Tables」上で右クリックして、「New」、「Proxy Tables…」をクリックします。

/wp-content/uploads/2015/03/13_656666.png

 

作成されたばかりのリモートサーバーを選択し、「Next」をクリックします。

/wp-content/uploads/2015/03/14_656667.png

お好みでプロキシーを作成するテーブルをハイライトし、新しい名前とユーザーを選択します。

「Next」をクリックします。
/wp-content/uploads/2015/03/15_656668.png

お好みで、カラムの選択を変更します。「Next」をクリックします。

 

プロキシーテーブルが作成されるまで、続けて next をクリックします。

 

新しく作成されたプロキシーテーブルがテーブルのリストに現れます。
/wp-content/uploads/2015/03/16_656641.png

テーブル上でダブルクリックし、「Data」タブを選択します。
/wp-content/uploads/2015/03/17_656672.png

Hive サーバーのテーブル内の全データが表示されます。

 

 

 

5  Interactive SQL を使用して接続する。

このセクションは、セクション4 の代替方法です。Sybase Central のグラフィカルなツールを使用して接続せずに、このセクションでは、Interactive SQL からSQL 文を使用してどのように接続するかを説明します。

 

環境と DSN は設定されているので、これらを使用して Hive サーバーにアクセスすることができます。

スタートメニューから、SQL Anywhere 16 -> Administration Tools -> Interactive SQL を開きます。

 

「Browse」メニューから「SQL Anywhere 16 Demo」 ODBC Data Source Name を選択してデモデータベースに接続します。User ID または、 Password なしで接続します。

 

かわりに、既存のどのデータベースに接続しても構いません。

 

備考: プロキシーテーブルを使用せずに、Hive サーバーをサーバーとしてアクセスしたい場合には、「Sample Hortonworks Hive DSN」に直接接続することもできます。しかし、この場合には、SQL Anywhere データと、Hive データの両方に同時にアクセスすることはできません。

 

5.1  リモートサーバーを作成する。

 

次に、SQL 文ウィンドウで、リモートサーバーを作成します。

 

以下のコマンドを実行して、サーバー名(hiveserver)を選択して、上で作成したDSN を特定します。

 

CREATE server hiveserver

class ‘ODBC’

using ‘dsn=Sample Hortonworks Hive DSN’
/wp-content/uploads/2015/03/18_656673.png

 

5.2  サーバーから Hadoop にアクセスする

 

これらのSQL 文が HiveQL に存在する場合であれば、通常のSQL 文を使用して新たに接続した Hive サーバーからデータを返すことができます。セレクト分は、以下のコマンドで実行することができます。

 

Forward to hiveserver;

Select * from sample_07;

 

/wp-content/uploads/2015/03/19_656674.png

備考: Hadoop テーブル内の既存のデータもweb ブラウザ内のHortonworks VM で特性された IP アドレレスにアクセスすることでアクセスすることが可能です。

 

JOIN も同様に機能します。

 

5.3  プロキシーテーブルからHadoop にアクセスする。

 

プロキシーテーブルを作成してデータにアクセスすることもできます。以下のコマンドを実行します。

 

Forward to;

Create existing table users

At ‘hiveserver.HIVE.default.users’

 

備考:この接続文字列‘hiveserver.HIVE.default.users’は、 ‘servername.databasename.username.tablename’ で生成されます。

これが機能するには、Hive 内にユーザーテーブルが先に存在している必要があります。

 

これで、Hive サーバー上は、ユーザーテーブルは、ユーザーテーブルに対してのプロキシーです。IQ からのテーブルからデータにアクセスできます。

 

Select * from users;

 

/wp-content/uploads/2015/03/20_656678.png

 

5.4  テーブルを作成する

 

IQ からのテーブルを作成するには、以下のコマンドを実行します。

 

Forward to;

Create table hive_t (bee int, nest int)

At ‘hiveserver.HIVE.default.hive_t’

 

これで、すでに作成したプロキシーテーブルを使用して直接Hive サーバーからもIQ からもテーブルにアクセスすることができます。

 

 

 

 
===

 

SAP SQL Anywhere に関する詳細情報は、SAP SQL Anywhere Communityページ

<英語> を参照してください。

 

上記のコミュニティーに掲載されている技術情報は、順次SQL Anywhere 日本語コミュニティに掲載しています

。SQL Anywhere の日本語記事をリスト形式で表示するには、「sql anywhere japan」のタグをクリックしてください。

 

SQL Anywhere に関してはまずはこちらをご参照ください。無期限でご利用いただける無償の Developers Edition もこちらからダウンロードが可能です。

 

SQL Anywhere に関して技術的な質問のある方はコミュニティに登録し、
「+ Actions」から「Ask a Question」機能をご利用ください。

Language には「Japanese」、
Primary Tag には「SQL Anywhere」、
Additional tag には「SAP SQL Anywhere」、
User Tagに「sql anywhere japanese question」

を選択してください。

不具合につきましては、サポート契約者様専用の問い合わせ方法にてお問い合わせください。

 

======================

ご購入に関するお問い合わせ

 

こちらよりお問い合わせください。

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply