Trafodion 처리 JSON 반구 조화 데이터
1 JAVA 클래스 를 작성 하여 JSON 텍스트 를 해석 합 니 다. 참고 하 십시오.https://github.com/esgyn/code-examples/blob/master/src/main/java/org/trafodion/examples/udrs/udfs/table_valued/json_columnizer/json_columnizer. java 구체 적 인 용법 상기 코드 는 다음 과 같이 언급 되 었 습 니 다.
/* ===================================================================================
*
* This is a Table Mapping UDF for Trafodion
*
* Input table contains a single VARCHAR/STRING column that is a complete JSON record
* UDF outputs values corresponding to JSON tags passed in the calling statement
* A variable number of tags can be passed in
*
* Tag names must be fully qualified, eg, 'Master.Employee.Middle Initial' for JSON
* {"MASTER": {"EMPLOYEE": { "Middle Initial": "Q" } } }
*
*
* To invoke this UDF:
*
* select * from udf(json_column(table( select * from ),
* '' , '' , ...) );
*
* =================================================================================== */
2 JAR 패키지 json 컴 파일 및 생 성columnizer. jar (메모: javax. json - 1.0.4. jar 를 함께 포장 해 야 합 니 다)
[root@cent-2 udr]# ll json_columnizer.jar
-rw-rw-r--. 1 centos centos 380574 Feb 7 11:47 json_columnizer.jar
[root@cent-2 udr]# pwd
/home/trafodion/esgynDB-2.2.0/udr
3 라 이브 러 리 및 Table 만 들 기Mapping Function
create library trafodion.seabase.json_columnizer file '/home/trafodion/esgynDB-2.2.0/udr/json_columnizer.jar';
create table_mapping function trafodion.seabase.unjson_obj
(
)
EXTERNAL NAME 'json_columnizer'
LIBRARY trafodion.seabase.json_columnizer
LANGUAGE JAVA
NO SQL;
4 샘플 JSON 텍스트 준비
{
"firstName": "John",
"lastName": "Smith",
"isAlive": true,
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021-3100"
},
"phoneNumbers": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "office",
"number": "646 555-4567"
},
{
"type": "mobile",
"number": "123 456-7890"
}
],
"children": [],
"spouse": null
}
5. 테스트 표를 만 들 고 JSON 문자열 을 삽입 합 니 다.
SQL>create table json_test ( jsondata varchar(2000));
SQL>insert into json_test values('{"firstName":"John","lastName":"Smith","isAlive":true,"age":25,"address":{"streetAddress":"212ndStreet","city":"NewYork","state":"NY","postalCode":"10021-3100"},"phoneNumbers":[{"type":"home","number":"212555-1234"},{"type":"office","number":"646555-4567"},{"type":"mobile","number":"123456-7890"}],"children":[],"spouse":null}');
6. 분석 한 JSON 문자열 조회
SQL>select * from udf(trafodion.seabase.unjson_obj(table(select jsondata from trafodion.seabase.json_test),'firstName','lastName'));
FIRSTNAME LASTNAME
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
John Smith
--- 1 row(s) selected.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.