問合せの結果が空かどうかをテストします。
説明
XQueryまたはXPath式。これは、関数が最初に評価されるときのみ読み込まれるため、定数値である必要があります。最初の問合せ文字列がコンパイルされ、後続のすべての呼出しで再使用されます。
Hadoop分散キャッシュおよびHTTPリソース(http://...
)に格納されているファイルにアクセスできます。XMLドキュメントの場合はXQueryのfn:doc
関数を使用し、プレーン・テキスト・ファイルにアクセスするにはfn:unparsed-text
およびfn:parsed-text-lines
関数を使用します。
問合せのコンパイル中にエラーが発生した場合は、関数でエラーが発生します。問合せの評価中にエラーが発生した場合、エラーは(生成されずに)ログに記録され、空の配列が返されます。
問合せで処理される入力。値は、XML STRING
または変数値のSTRUCT
です。
STRING
: 文字列は、問合せの初期コンテキスト項目にXMLとしてバインドされます。
STRUCT
: 偶数個のフィールドで構成されるSTRUCT
。フィールドの各ペアで、問合せの変数バインディング(名前, 値)が定義されます。名前フィールドのタイプはSTRING
である必要があり、値フィールドにはサポートされているプリミティブを指定できます。「データ型変換」を参照してください。
例
次の例では、入力XML文字列を解析し、問合せx/y
の初期コンテキスト項目にバインドします。
Hive> SELECT xml_exists("x/y", "<x><y>123</y></x>") FROM src LIMIT 1;
.
.
.
true
次の例では、2つの問合せ変数$data
と$value
を定義します。
Hive> SELECT xml_exists( "parse-xml($data)/x/y[@id = $value]", struct( "data", "<x><y id='1'/><y id='2'/></x>", "value", 2 ) ) FROM src LIMIT 1; . . . true
次の例では、入力XMLが無効であるため、エラーがログに書き込まれます。
hive> SELECT xml_exists("x/y", "<x><y>123</invalid></x>") FROM src LIMIT 1;
.
.
.
false