Apache Hive JDBC Driver

高機能なApache Spark SQL 連携

  • Pure Java Type 4/5 JDBC Driver for Apache Hive。
  • SQL でApache Hadoop Hive を取得。標準のJava データベース接続経由でApache Hive にアクセスします。
  • 一般的なBI、帳票、ETL ツールにコーディングなしで統合。
  • SQL をHiveQL にマッピングして、標準SQL-92 で直接Apache Hive にアクセスできます。

  ダウンロード   注文

BI、帳票、ETL ツールから接続

Apache Hive JDBC Driver を使って、あらゆるJDBC を備えたアプリケーションからリアルタイムApache Hadoop Hive data にデータ連携できます。ドライバーを使えば、ほかのJDBC データソースとの接続と同じ感覚で、Apache Hadoop Hive にアクセスできます。 CData ドライバーは単体で機能し、追加のソフトウェアのインストールは不要です。

エンタープライズレベル JDBC 接続

Apache Hive JDBC Driver を使って、Java / J2EE アプリケーションから簡単に Apache Hive データにアクセスすることができます。伝統的なデータベースへのアクセスと同じ感覚で、Apache Hive Driver を使うだけでデータに接続しアクセスすることができます。CData ドライバーは単体で機能し、追加のソフトウェアのインストールは不要です。

  • さまざまなツールを使ってApache Hive data にアクセス。JDBC インターフェースを使って、Java ベースのアプリケーションおよび開発テクノロジーからApache Hive data にアクセス可能です。
  • リモート接続の高度なワイヤプロトコルSSL セキュリティ。
  • アプリケーションの配布および設定の高速化。

BI、ETL、帳票ツールからApache Hive に接続

JDBC はJava ベースのアプリケーションをデータに接続するためのインターフェースで、幅広くサポートされています。多くのBI、帳票、ETL、データベース、およびアナリティクスツールが、JDBC コネクティビティを介してデータの読み込みや書き出しを行う機能を備えています。

  • Aqua Data Studio
  • Cisco Information Server
  • CloverETL
  • ColdFusion
  • Crystal Reports
  • DBeaver
  • DbVisualizer
  • IBM WebSphere
  • Informatica
  • IntelliJ
  • JBoss
  • Jetty
  • KNIME
  • NetBeans IDE
  • Oracle WebLogic
  • Oracle WareHouse Builder
  • RazorSQL
  • ... ほか

Apache Hive Driver により、統合が容易な標準準拠のJava JDBC ドライバーを通じて、Apache Hive サービスに複雑な操作なしにアクセスができます。アプリケーションからApache Hive Driver を通じてシンプルなTransact-SQLを使い、Apache Hive にアクセスします。

CData JDBC Driver for Apache Hive はデータへのアクセスの問題を解決し、パワフルなセキュリティ機能、スマートキャッシング、バッチ処理、ソケットマネジメントなどを実現します。

Apache Hive アプリケーション統合

Apache Hive Driver はConnection、Statement、ResultSet を含む、MySQL やOLEDB 向けのJDBC ドライバーと同じJDBC アーキテクチャを有します。そのため、Apache Hive データに簡単かつ馴染みのある方法でアクセスできます。Apache Hive Driver は使い慣れたIDE(Eclipse、IntelliJ、NetBeans、etc.)で利用できます。馴染みのあるクラスでのコーディングや、Swing やEclipse SWT Widgets などのデータコントロールから利用できます。

例:

Connection conn = 
	DriverManager.getConnection("jdbc:apachehive:user=myuseraccount;password=mypassword;");

boolean ret = stat.execute("SELECT * FROM HiveData");
ResultSet rs=stat.getResultSet();
while(rs.next()){
  for(int i=1;i<=rs.getMetaData().getColumnCount();i++)
  {
    System.out.println(rs.getMetaData().getColumnName(i) +"="+rs.getString(i));
  }
}


Read-Only ではない:CRUD をフルサポート

Apache Hive Driver はRead-only 機能にとどまらず、作成、読み出し、更新、削除操作(CRUD) をフルサポートしています。アプリケーションのエンドユーザーはデータテーブルを利用するように、Apache Hive Driver が表示するデータを簡単に活用できます。

Connection conn = 
	DriverManager.getConnection("jdbc:apachehive:user=myuseraccount;password=mypassword;");
	
String query = "UPDATE HiveData SET Where= ..."; 

PreparedStatement pstmt = conn.prepareStatement(query);
pstmt.setString(1, "Location");
pstmt.setString(2, "UID");
pstmt.execute();
int count=pstmt.getUpdateCount();


ドライバー 機能

  • Pure Java タイプ 4/5* 準拠のドライバー: Java アーキテクチャ完全準拠で、クライアント側のライブラリに依存しないネイティブプロトコルを実現します。
    * CData ドライバーはタイプ5ドライバーの定義を満たします(正式にはJDBCは4タイプ)。
  • All-In-One 配布: JDBC 3.0、JDBC 4.0要件、およびJVM 1.5版を満たすシングルJAR。
  • 互換性認証済み*: CData ドライバーは広範囲な水準のテストを行っているほか、SAP Crystal Reports、Pentaho、Business Objects、Crystal Reports などの業界トップクラスのアナリティクス・帳票ツールから互換性認証を受けています。
    * こちらから ナレッジベース how-to 記事をご覧ください。
  • 開発者にやさしい: clipse、IntelliJ、NetBeans などの主要なJava IDE をデザインタイムでサポート。
  • JDBC リモーティング: CData のリモーティング機能を使って、異なるプラットフォーム(Java、.NET、C++、PHP、Python、etc.)のさまざまなクライアントからの接続(ODBC、JDBC など)が可能なJDBC 接続をホストすることができます。JDBC リモーティングにより、MySQL ワイヤプロトコルサーバーが利用できます。
  • レプリケーションとキャッシング: CData のレプリケーションやキャッシングコマンドにより、簡単にローカルおよびクラウドデータストア(Oracle、SQL Server、Google Cloud SQL、etc.)へのデータのコピーができます。レプリケーションコマンドはインテリジェントな差分更新によるデータのキャッシュを行う機能を備えています。
  • 文字列型、日付型、数値型のSQL 関数群: CData ドライバーは50以上の関数ライブラリを持ち、カラムと出力フォーマットを操作します。代表的な例では正規表現、JSON、およびXML 処理機能があります。
  • コラボラティブクエリ処理: CData ドライバーはクライアント側における追加処理を実現することにより、接続するデータソースの機能を高め、SUM、AVG、MAX、MIN などの分析集計を可能にします。
  • カスタマイズや設定が容易: JDBC ドライバーのデータモデルはテーブル / カラムの追加や削除、データ型の変更などのカスタマイズが簡単に行えます。追加ビルドは不要です。カスタマイズは、human-readable スキーマを使ってランタイムで編集ができます。
  • セキュアな接続: すべてのクライアント - サーバー間接続において、TLS / SSL データ暗号化などのエンタープライズレベルのセキュリティ機能が備わっています。

エンタープライズレベルのリモーティング

Apache Hadoop Hive データのMySQL / SQL エントリーポイント

CData JDBC ドライバーには完全に統合されたパワフルなリモーティング機能が備わっており、バーチャルにどこからでもApache Hadoop Hive data にアクセスできます。CData ドライバーは、インカミングSQL およびMySQL クライアント接続の受容と、データベースの標準リクエストへのサービスのオプション機能を備えています。

CData JDBC ドライバーを使って、SQL Server またはMySQL をサポートするあらゆるクライアントからApache Hadoop Hive データに連携できます。ウェブやモバイルアプリケーションからCRM、CMS システム、SQL Server Analysis Services のようなBI ツール、さらにはMySQL Workbench のような馴染みのあるマネージメントアプリケーションなどでの連携が可能です。

  • 外部データにアクセスできるいかなるアプリケーションからでも、Apache Hadoop Hive data にバーチャルにアクセスします。SQL Server またはMySQL データにアクセスできるアプリケーションであれば、このドライバーを使ってApache Hadoop Hive に接続できます。
  • Apache Hadoop Hive data をSQL Server Analysis Services のような馴染みのあるBI ツールに接続できます。
  • SQL リンクサーバー接続経由で、エンタープライズApache Hadoop Hive data 統合を実現します。
  • リモートデータベース接続の業界標準であるMySQL およびSQL (TDS) リモートアクセスプロトコルをサポートしています。
  • リモート接続には高度なワイヤプロトコル SSL セキュリティを提供しています。


コーディングによるApache Hadoop Hive データへの接続

Apache Hive ドライバーはSQL Server またはMySQL の標準インターフェースを備え、データの読み出し / 書き込み(CRUD)をサポートします。どのソリューションアーキテクチャであっても、このパワフルなリモーティング機能を使ってアプリケーションを簡単にApache Hadoop Hive data に接続できます。

標準的なクライアントライブラリの一つを使ってNET、Java、PHP、Python、Ruby、Objective-C、etc. からSQL / MySQL にアクセスし、Apache Hive への統合を始めましょう。


JDBC Driver パフォーマンス

伝統的なリモートアクセスのアプローチでは、パフォーマンスがアプリケーションのボトルネックです。アプリケーションが社内利用であれ、商用であれ、ウェブやモバイルアプリケーションであれ、スローなパフォーマンスはプロジェクトの成功を妨げます。リモートソースにアクセスすること自体がパフォーマンス悪化の問題をはらんでいるのです。以下は代表的な問題です。

  1. ネットワーク接続 - モバイルアプリケーションでよくある、スローなネットワーク接続や遅延の問題。
  2. サービスの遅れ - サーバー側のハードウェアやソフトウェアの更新によるサービスの中断がもたらす遅れ。
  3. 大容量データ - 大容量データの意図的な、もしくは意図しない要求。
  4. 切断 - ネットワーク接続の切断。

CData JDBC Driver for Apache Hive のパワフルなスマートキャッシング技術を使って、パフォーマンスを大幅に向上させアプリケーションのボトルネックを解消できます。

スマートキャッシング

スマートキャッシングをオプションとして設定可能です。クエリされたデータをローカルデータベースにソートできます。スマートキャッシングを有効にすると、パーシスタントなローカルキャッシュデータベースが作成され、リモートソースから取得したデータのレプリカが保持されます。小さく軽量で高速なキャッシュデータベースは、パーシスタントストレージとして複数の接続が可能です。

JDBC Driver を使ったキャッシュは、以下を含む多くのオプションにより柔軟な設定ができます。

  • オートキャッシュ - すべての要求に対し、自動でデータのローカルキャッシュを保持。CData プロバイダーを使うと、SELECT クエリを実行するたびに自動的にデータをキャッシュデータベースにロードします。クエリで返された各行は、必要に応じてキャッシュデータベースの対応するテーブルに挿入および更新されます。
  • エクスプリシットキャッシュ - オンデマンドでのキャッシュ。格納するデータとそれを更新するタイミングを細かく設定できます。エクスプリシットキャッシュでCACHE ステートメントを明示的に実行すると、キャッシュコンテンツをフルコントロールできます。
  • ノーキャッシュ - すべての要求はライブデータにのみアクセスし、ローカルキャッシュファイルは作成されません。

このパワフルなキャッシング機能を使うとアプリケーションのパフォーマンスを向上し、オフラインでもアプリケーションの一部機能を継続的に利用できます。ローカルストレージや、データのシリアライゼーション / デシリアライゼーションのためのコーディングは不要です。

JDBC Driver のキャッシングに関する情報およびベストプラクティスは、ヘルプファイルをご覧ください。


Apache Hive JDBC Driver のスタートアップガイド

Apache Hive JDBC Driver の利用を始めましょう。標準Java JDBC ドライバーであるApache Hive Driver は、Java/J2EE アプリケーションと同様にEclipse、IntelliJ、NetBeans などの主要なIDE にシームレスに統合します。

 

Eclipse 統合 - データエクスプローラー

JDBC ドライバーである Apache Hive JDBC Driver を使って、Apache Hive データに一般的なJava IDE で利用可能なデータソースエクスプローラーから直接アクセスできます。


方法はとても簡単です。JDBC の標準ドライバーとして、ほかの標準データベースに接続するのと同様の方法でデータソースエクスプローラーからApache Hive JDBC Driver にアクセスできます。

  1. サーバーエクスプローラーで[接続の追加]からApache Hive データソースを選択します。
  2. 設定画面でお客様のApache Hive アカウントデータにアクセスするための基本的な接続プロパティ設定を行います。

リアルタイムデータを使ってみましょう!Apache Hive JDBC Driver を使って、あらゆるモダンなJava IDE からApache Hive ライブデータに簡単にアクセスできます。

  1. 接続の設定後、Apache Hive JDBC ドライバーから提供されるテーブル、ビュー、ストアドプロシージャを参照できます。
  2. この構造はApache Hive のライブデータを返し、開発者はIDE から直接利用が可能です。