ヘッダーをスキップ
Oracle® Big Data Connectorsユーザーズ・ガイド
リリース2 (2.3)
E48215-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

Apache HiveのXML関数ライブラリ

この項では、XML Extensions for Hiveで提供される関数について説明します。この項の内容は次のとおりです。

XML Extensions for Hiveには、次の関数が含まれています。


関数のオンライン・マニュアル

次のコマンドを使用して、Hive拡張関数のオンライン・ヘルプを取得できます。

DESCRIBE FUNCTION [EXTENDED] function_name;

次の例では、xml_query関数の簡単な説明が示されます。

hive> describe function xml_query;         
OK
xml_query(query, bindings) - Returns the result of the query as a STRING array

EXTENDEDオプションを使用すると、詳細な説明と例が示されます。

hive> describe function extended xml_query;
OK
xml_query(query, bindings) - Returns the result of the query as a STRING array
Evaluates an XQuery expression with the specified bindings. The query argument must be a STRING and the bindings argument must be a STRING or a STRUCT. If the bindings argument is a STRING, it is parsed as XML and bound to the initial context item of the query. For example:
  
  > SELECT xml_query("x/y", "<x><y>hello</y><z/><y>world</y></x>") FROM src LIMIT 1;
  ["hello", "world"]
     .
     .
     .

外部ファイルへのHiveアクセスについて

Hive関数は、次の外部ファイル・リソースにアクセスできます。

これらのファイルは、HTTP (http://...構文を使用)またはローカル・ファイル・システム(file://...構文を使用)からそれらのURIによってアドレス指定できます。次の例では、タスクのローカル作業ディレクトリに対して相対的なファイルの場所が解決されるため、bar.xsdなどのURIを使用すると、分散キャッシュに追加されたファイルにアクセスできます。

xml_query("
   import schema namespace tns='http://example.org' at 'bar.xsd';
   validate { ... }
        ",
           .
           .
           .

ローカル・ファイルにアクセスするには、最初に、HiveのADD FILEコマンドを使用してそのファイルをHadoop分散キャッシュに追加します。次に例を示します。

ADD FILE /local/mydir/thisfile.xsd;

それ以外の場合は、同じネットワーク・ドライブをマウントするか、ファイルをすべてのノードに単純にコピーするなど、クラスタのすべてのノードでファイルが使用できるようにする必要があります。デフォルトのベースURIは、ローカル作業ディレクトリに設定されます。


関連項目:

デフォルトのベースURIについては、次のサイトにある『XQuery 1.0:An XML Query Language』

http://www.w3.org/TR/xquery/#dt-base-uri



データ型変換について

表7-1に、Hiveプリミティブ・タイプおよびXMLスキーマ・タイプ間で自動的に行われる変換を示します。

表7-1 同等のデータ型

Hive XMLスキーマ

TINYINT

xs:byte

SMALLINT

xs:short

INT

xs:int

BIGINT

xs:long

BOOLEAN

xs:boolean

FLOAT

xs:float

DOUBLE

xs:double

STRING

xs:string