언어 매뉴얼 - XPath UDF
언어 매뉴얼 - XPath UDF (Language Manual - XPath UDF)
XPath UDF는 XML 데이터에서 원하는 노드나 값을 추출할 때 사용하는 함수들이에요. Hive에서 xpath, xpath_string, xpath_int, xpath_double, xpath_float, xpath_long, xpath_short, xpath_boolean, xpath_number 같은 함수를 제공합니다.
출처: 문서
본문
Hive의 XPath 관련 UDF를 설명합니다.
주요 함수
| 함수 | 설명 |
|---|---|
xpath(xml, xpath) |
XPath에 해당하는 노드들의 배열을 반환 |
xpath_string(xml, xpath) |
XPath에 해당하는 첫 번째 요소의 문자열 값을 반환 |
xpath_number(xml, xpath) |
XPath에 해당하는 값의 숫자(배열)를 반환 |
xpath_int(xml, xpath) |
정수 형태의 값을 반환 |
xpath_long(xml, xpath) |
long 형태의 값을 반환 |
xpath_short(xml, xpath) |
short 형태의 값을 반환 |
xpath_double(xml, xpath) |
double 형태의 값을 반환 |
xpath_float(xml, xpath) |
float 형태의 값을 반환 |
xpath_boolean(xml, xpath) |
boolean 형태의 값을 반환 |
예시
SELECT xpath_string('<a><b>Hello</b></a>', 'a/b'); -- Hello
SELECT xpath_int('<a><b>123</b></a>', 'a/b'); -- 123
SELECT xpath('<a><b>1</b><b>2</b></a>', 'a/b'); -- ["1","2"]
주의 사항
- XML 입력이 올바른 형식이어야 하며, 잘못된 XPath를 지정하면 빈 결과나 오류가 발생할 수 있습니다.
- 각 함수의 반환 타입에 맞춰 XPath 결과를 사용해야 합니다.
참고: 더 상세한 함수별 시그니처와 예제는 원문 문서를 참고하세요.
더 알아보기 (Learn more)
- XML 데이터를 자주 다룬다면 정규식 함수(
regexp_extract)와 XPath 함수를 상황에 맞게 비교해 보세요. 구조화된 XML이라면 XPath가 더 안정적일 수 있어요.