https://blogs.oracle.com/bigdataconnectors/entry/accessing_a_hive_table_from
HiveはHDFSのデータを問い合わせるためのツールで、人気のあるツールです。Oracle SQL Connector for HDFSはversion 2.0でHive表から直接データを読み取ることができます。また、Oracle SQL Connector for HDFSのコマンドラインツールが非常に簡素化されました。Hive表とHiveデータベース名をHadoop構成プロパティとして指定しさえすれば、コネクターはHive表のデータにアクセスすることができます。
コマンドラインツールは外部表をOracle Databaseに作成します。Hive表のデータにアクセスするためにこの外部表に対し問い合わせます。データベースの他の表のように外部表に問い合わせることができるので、Oracle SQLの機能を使ってHive表に対して問い合わせることができます。oracle.hadoop.exttab.sourceType=hive oracle.hadoop.exttab.hive.tableName=<hive table name> oracle.hadoop.exttab.hive.databaseName=<hive database name>
外部表の名前とデータベース接続情報もHadoop構成プロパティとして指定します。
外部表を作成している間にHive表のデータ型は外部表のOracleのデータ型に自動的にマッピングされます。以下はマッピングの例です。hadoop jar $OSCH_HOME/jlib/orahdfs.jar \ oracle.hadoop.exttab.ExternalTable -D oracle.hadoop.exttab.sourceType=hive \ -D oracle.hadoop.exttab.hive.tableName=<hive table name> \ -D oracle.hadoop.exttab.hive.databaseName=<hive database name> \ -D oracle.hadoop.connection.url=<database connection url> \ -D oracle.hadoop.exttab.tableName=<external table name> \ …. -createTable
Hive Tinyint, Smallint, Int Oracle NUMBER Hive Float, Double Oracle NUMBER (default precision) Hive Decimal Oracle NUMBER Hive Boolean Oracle VARCHAR2(5) Hive String Oracle VARCHAR2(4000) Hive Timestamp Oracle TIMESTAMP
0 件のコメント:
コメントを投稿