PageRenderTime 44ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 1ms

/tags/release-0.2.0-rc0/hive/external/ql/src/test/results/clientpositive/udf_get_json_object.q.out

#
text | 157 lines | 151 code | 6 blank | 0 comment | 0 complexity | 6cffdc950e0e0ea860fd41f8edecd88d MD5 | raw file
Possible License(s): Apache-2.0, BSD-3-Clause, JSON, CPL-1.0
  1. PREHOOK: query: DESCRIBE FUNCTION get_json_object
  2. PREHOOK: type: DESCFUNCTION
  3. POSTHOOK: query: DESCRIBE FUNCTION get_json_object
  4. POSTHOOK: type: DESCFUNCTION
  5. get_json_object(json_txt, path) - Extract a json object from path
  6. PREHOOK: query: DESCRIBE FUNCTION EXTENDED get_json_object
  7. PREHOOK: type: DESCFUNCTION
  8. POSTHOOK: query: DESCRIBE FUNCTION EXTENDED get_json_object
  9. POSTHOOK: type: DESCFUNCTION
  10. get_json_object(json_txt, path) - Extract a json object from path
  11. Extract json object from a json string based on json path specified, and return json string of the extracted json object. It will return null if the input json string is invalid.
  12. A limited version of JSONPath supported:
  13. $ : Root object
  14. . : Child operator
  15. [] : Subscript operator for array
  16. * : Wildcard for []
  17. Syntax not supported that's worth noticing:
  18. '' : Zero length string as key
  19. .. : Recursive descent
  20. @ : Current object/element
  21. () : Script expression
  22. ?() : Filter (script) expression.
  23. [,] : Union operator
  24. [start:end:step] : array slice operator
  25. PREHOOK: query: CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE
  26. PREHOOK: type: CREATETABLE
  27. POSTHOOK: query: CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE
  28. POSTHOOK: type: CREATETABLE
  29. POSTHOOK: Output: default@dest1
  30. PREHOOK: query: FROM src INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE src.key = 86
  31. PREHOOK: type: QUERY
  32. PREHOOK: Input: default@src
  33. PREHOOK: Output: default@dest1
  34. POSTHOOK: query: FROM src INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE src.key = 86
  35. POSTHOOK: type: QUERY
  36. POSTHOOK: Input: default@src
  37. POSTHOOK: Output: default@dest1
  38. POSTHOOK: Lineage: dest1.c1 SIMPLE []
  39. PREHOOK: query: EXPLAIN
  40. SELECT get_json_object(src_json.json, '$.owner') FROM src_json
  41. PREHOOK: type: QUERY
  42. POSTHOOK: query: EXPLAIN
  43. SELECT get_json_object(src_json.json, '$.owner') FROM src_json
  44. POSTHOOK: type: QUERY
  45. POSTHOOK: Lineage: dest1.c1 SIMPLE []
  46. ABSTRACT SYNTAX TREE:
  47. (TOK_QUERY (TOK_FROM (TOK_TABREF src_json)) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTION get_json_object (. (TOK_TABLE_OR_COL src_json) json) '$.owner')))))
  48. STAGE DEPENDENCIES:
  49. Stage-1 is a root stage
  50. Stage-0 is a root stage
  51. STAGE PLANS:
  52. Stage: Stage-1
  53. Map Reduce
  54. Alias -> Map Operator Tree:
  55. src_json
  56. TableScan
  57. alias: src_json
  58. Select Operator
  59. expressions:
  60. expr: get_json_object(json, '$.owner')
  61. type: string
  62. outputColumnNames: _col0
  63. File Output Operator
  64. compressed: false
  65. GlobalTableId: 0
  66. table:
  67. input format: org.apache.hadoop.mapred.TextInputFormat
  68. output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
  69. Stage: Stage-0
  70. Fetch Operator
  71. limit: -1
  72. PREHOOK: query: SELECT get_json_object(src_json.json, '$') FROM src_json
  73. PREHOOK: type: QUERY
  74. PREHOOK: Input: default@src_json
  75. PREHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-14_447_588438208114015011/10000
  76. POSTHOOK: query: SELECT get_json_object(src_json.json, '$') FROM src_json
  77. POSTHOOK: type: QUERY
  78. POSTHOOK: Input: default@src_json
  79. POSTHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-14_447_588438208114015011/10000
  80. POSTHOOK: Lineage: dest1.c1 SIMPLE []
  81. {"store":{"fruit":[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],"book":[{"author":"Nigel Rees","category":"reference","title":"Sayings of the Century","price":8.95},{"author":"Herman Melville","category":"fiction","title":"Moby Dick","price":8.99,"isbn":"0-553-21311-3"},{"author":"J. R. R. Tolkien","category":"fiction","title":"The Lord of the Rings","price":22.99,"reader":[{"name":"bob","age":25},{"name":"jack","age":26}],"isbn":"0-395-19395-8"}],"basket":[[1,2,{"b":"y","a":"x"}],[3,4],[5,6]],"bicycle":{"price":19.95,"color":"red"}},"email":"amy@only_for_json_udf_test.net","owner":"amy"}
  82. PREHOOK: query: SELECT get_json_object(src_json.json, '$.owner'), get_json_object(src_json.json, '$.store') FROM src_json
  83. PREHOOK: type: QUERY
  84. PREHOOK: Input: default@src_json
  85. PREHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-18_096_5433104910168634226/10000
  86. POSTHOOK: query: SELECT get_json_object(src_json.json, '$.owner'), get_json_object(src_json.json, '$.store') FROM src_json
  87. POSTHOOK: type: QUERY
  88. POSTHOOK: Input: default@src_json
  89. POSTHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-18_096_5433104910168634226/10000
  90. POSTHOOK: Lineage: dest1.c1 SIMPLE []
  91. amy {"fruit":[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],"book":[{"author":"Nigel Rees","category":"reference","title":"Sayings of the Century","price":8.95},{"author":"Herman Melville","category":"fiction","title":"Moby Dick","price":8.99,"isbn":"0-553-21311-3"},{"author":"J. R. R. Tolkien","category":"fiction","title":"The Lord of the Rings","price":22.99,"reader":[{"name":"bob","age":25},{"name":"jack","age":26}],"isbn":"0-395-19395-8"}],"basket":[[1,2,{"b":"y","a":"x"}],[3,4],[5,6]],"bicycle":{"price":19.95,"color":"red"}}
  92. PREHOOK: query: SELECT get_json_object(src_json.json, '$.store.bicycle'), get_json_object(src_json.json, '$.store.book') FROM src_json
  93. PREHOOK: type: QUERY
  94. PREHOOK: Input: default@src_json
  95. PREHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-21_313_644009047344298458/10000
  96. POSTHOOK: query: SELECT get_json_object(src_json.json, '$.store.bicycle'), get_json_object(src_json.json, '$.store.book') FROM src_json
  97. POSTHOOK: type: QUERY
  98. POSTHOOK: Input: default@src_json
  99. POSTHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-21_313_644009047344298458/10000
  100. POSTHOOK: Lineage: dest1.c1 SIMPLE []
  101. {"price":19.95,"color":"red"} [{"author":"Nigel Rees","category":"reference","title":"Sayings of the Century","price":8.95},{"author":"Herman Melville","category":"fiction","title":"Moby Dick","price":8.99,"isbn":"0-553-21311-3"},{"author":"J. R. R. Tolkien","category":"fiction","title":"The Lord of the Rings","price":22.99,"reader":[{"name":"bob","age":25},{"name":"jack","age":26}],"isbn":"0-395-19395-8"}]
  102. PREHOOK: query: SELECT get_json_object(src_json.json, '$.store.book[0]'), get_json_object(src_json.json, '$.store.book[*]') FROM src_json
  103. PREHOOK: type: QUERY
  104. PREHOOK: Input: default@src_json
  105. PREHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-24_685_8457778368302883452/10000
  106. POSTHOOK: query: SELECT get_json_object(src_json.json, '$.store.book[0]'), get_json_object(src_json.json, '$.store.book[*]') FROM src_json
  107. POSTHOOK: type: QUERY
  108. POSTHOOK: Input: default@src_json
  109. POSTHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-24_685_8457778368302883452/10000
  110. POSTHOOK: Lineage: dest1.c1 SIMPLE []
  111. {"author":"Nigel Rees","category":"reference","title":"Sayings of the Century","price":8.95} [{"author":"Nigel Rees","category":"reference","title":"Sayings of the Century","price":8.95},{"author":"Herman Melville","category":"fiction","title":"Moby Dick","price":8.99,"isbn":"0-553-21311-3"},{"author":"J. R. R. Tolkien","category":"fiction","title":"The Lord of the Rings","price":22.99,"reader":[{"name":"bob","age":25},{"name":"jack","age":26}],"isbn":"0-395-19395-8"}]
  112. PREHOOK: query: SELECT get_json_object(src_json.json, '$.store.book[0].category'), get_json_object(src_json.json, '$.store.book[*].category'), get_json_object(src_json.json, '$.store.book[*].isbn'), get_json_object(src_json.json, '$.store.book[*].reader') FROM src_json
  113. PREHOOK: type: QUERY
  114. PREHOOK: Input: default@src_json
  115. PREHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-27_983_4573769925077927197/10000
  116. POSTHOOK: query: SELECT get_json_object(src_json.json, '$.store.book[0].category'), get_json_object(src_json.json, '$.store.book[*].category'), get_json_object(src_json.json, '$.store.book[*].isbn'), get_json_object(src_json.json, '$.store.book[*].reader') FROM src_json
  117. POSTHOOK: type: QUERY
  118. POSTHOOK: Input: default@src_json
  119. POSTHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-27_983_4573769925077927197/10000
  120. POSTHOOK: Lineage: dest1.c1 SIMPLE []
  121. reference ["reference","fiction","fiction"] ["0-553-21311-3","0-395-19395-8"] [{"name":"bob","age":25},{"name":"jack","age":26}]
  122. PREHOOK: query: SELECT get_json_object(src_json.json, '$.store.book[*].reader[0].age'), get_json_object(src_json.json, '$.store.book[*].reader[*].age') FROM src_json
  123. PREHOOK: type: QUERY
  124. PREHOOK: Input: default@src_json
  125. PREHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-31_316_8337341337637490694/10000
  126. POSTHOOK: query: SELECT get_json_object(src_json.json, '$.store.book[*].reader[0].age'), get_json_object(src_json.json, '$.store.book[*].reader[*].age') FROM src_json
  127. POSTHOOK: type: QUERY
  128. POSTHOOK: Input: default@src_json
  129. POSTHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-31_316_8337341337637490694/10000
  130. POSTHOOK: Lineage: dest1.c1 SIMPLE []
  131. 25 [25,26]
  132. PREHOOK: query: SELECT get_json_object(src_json.json, '$.store.basket[0][1]'), get_json_object(src_json.json, '$.store.basket[*]'), get_json_object(src_json.json, '$.store.basket[*][0]'), get_json_object(src_json.json, '$.store.basket[0][*]'), get_json_object(src_json.json, '$.store.basket[*][*]'), get_json_object(src_json.json, '$.store.basket[0][2].b'), get_json_object(src_json.json, '$.store.basket[0][*].b') FROM src_json
  133. PREHOOK: type: QUERY
  134. PREHOOK: Input: default@src_json
  135. PREHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-34_666_5810556714267909747/10000
  136. POSTHOOK: query: SELECT get_json_object(src_json.json, '$.store.basket[0][1]'), get_json_object(src_json.json, '$.store.basket[*]'), get_json_object(src_json.json, '$.store.basket[*][0]'), get_json_object(src_json.json, '$.store.basket[0][*]'), get_json_object(src_json.json, '$.store.basket[*][*]'), get_json_object(src_json.json, '$.store.basket[0][2].b'), get_json_object(src_json.json, '$.store.basket[0][*].b') FROM src_json
  137. POSTHOOK: type: QUERY
  138. POSTHOOK: Input: default@src_json
  139. POSTHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-34_666_5810556714267909747/10000
  140. POSTHOOK: Lineage: dest1.c1 SIMPLE []
  141. 2 [[1,2,{"b":"y","a":"x"}],[3,4],[5,6]] 1 [1,2,{"b":"y","a":"x"}] [1,2,{"b":"y","a":"x"},3,4,5,6] y ["y"]
  142. PREHOOK: query: SELECT get_json_object(src_json.json, '$.non_exist_key'), get_json_object(src_json.json, '$..no_recursive'), get_json_object(src_json.json, '$.store.book[10]'), get_json_object(src_json.json, '$.store.book[0].non_exist_key'), get_json_object(src_json.json, '$.store.basket[*].non_exist_key'), get_json_object(src_json.json, '$.store.basket[0][*].non_exist_key') FROM src_json
  143. PREHOOK: type: QUERY
  144. PREHOOK: Input: default@src_json
  145. PREHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-38_026_3347642415777976965/10000
  146. POSTHOOK: query: SELECT get_json_object(src_json.json, '$.non_exist_key'), get_json_object(src_json.json, '$..no_recursive'), get_json_object(src_json.json, '$.store.book[10]'), get_json_object(src_json.json, '$.store.book[0].non_exist_key'), get_json_object(src_json.json, '$.store.basket[*].non_exist_key'), get_json_object(src_json.json, '$.store.basket[0][*].non_exist_key') FROM src_json
  147. POSTHOOK: type: QUERY
  148. POSTHOOK: Input: default@src_json
  149. POSTHOOK: Output: file:/data/users/athusoo/apache_workspaces/hive_trunk_ws1/.ptest_0/build/ql/scratchdir/hive_2010-04-05_18-37-38_026_3347642415777976965/10000
  150. POSTHOOK: Lineage: dest1.c1 SIMPLE []
  151. NULL NULL NULL NULL NULL NULL