{"id":1696,"date":"2019-09-04T16:45:53","date_gmt":"2019-09-04T14:45:53","guid":{"rendered":"https:\/\/myoceane.fr\/?p=1696"},"modified":"2019-09-15T12:51:22","modified_gmt":"2019-09-15T10:51:22","slug":"hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4","status":"publish","type":"post","link":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/","title":{"rendered":"[Hive] \u5e38\u7528\u7684 UDF \u6307\u4ee4"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n\n<p style=\"text-align: justify;\">\u7576\u6211\u5011\u4e0b\u6307\u4ee4\u8a62\u554f Hive \u7684\u8cc7\u6599\u5eab\u7684\u6642\u5019\uff0c\u5728\u6bd4\u8f03\u9032\u968e\u7684\u60c5\u6cc1\u4e2d\uff0c\u5e38\u5e38\u6703\u9047\u5230\u4e00\u4e9b\u8907\u96dc\u7684\u8cc7\u6599\u7d50\u69cb(struct)\uff0c\u4f8b\u5982 array, map, array&lt;struct&gt;, map&lt;int,struct&gt; \u7b49\u7b49\u3002\u672c\u7bc7\u7684\u76ee\u7684\u662f\u6574\u7406\u4e00\u4e9b\u5e38\u7528\u7684 Hive \u7684\u6307\u4ee4\u53ef\u4ee5\u5e6b\u52a9\u6211\u5011\u8655\u7406\u8907\u96dc\u7684\u8cc7\u6599\u7d50\u69cb\u3002<\/p>\n\n\n\n<h5>Terms:<\/h5>\n<ul>\n<li>UDF (User-Defined-Function): \u7528\u6236\u81ea\u5df1\u5b9a\u7fa9\u7684\u51fd\u6578\uff0cUDF \u53ea\u80fd\u5be6\u73fe\u4e00\u9032\u4e00\u51fa<\/li>\n<li>UDAF (User-Defined-Aggregation-Function): \u7528\u6236\u81ea\u5b9a\u7fa9\u805a\u5408\u51fd\u6578\uff0c\u5be6\u73fe\u985e\u4f3c Sum, Avg, etc \u7b49\u7b49\u7684\u529f\u80fd<\/li>\n<li>UDTF (User-Defined-Table-Generating-Funntion): \u7528\u6236\u81ea\u5b9a\u7fa9\u8868\u683c\u751f\u6210\u51fd\u6578\uff0c\u7528\u4f86\u89e3\u6c7a\u4e00\u884c\u8f38\u5165\u591a\u884c\u8f38\u51fa\u7684\u9700\u6c42<\/li>\n<\/ul>\n<h5>Explode&nbsp;<\/h5>\n<p style=\"text-align: justify;\">\u5b9a\u7fa9\uff1aexplode() takes in an array (or a map) as an input and outputs the elements of the array (map) as separate rows. UDTFs can be used in the SELECT expression or as a part of LATERAL VIEW.&nbsp; Explode \u6307\u4ee4\u4e3b\u8981\u662f\u5c07 array \u6216\u662f map \u7b49\u7b49\u7684 Collection \u5c55\u958b\uff0c\u4ee5\u4e0b\u5c55\u793a\u4e00\u500b\u4f8b\u5b50\uff0c\u5047\u8a2d\u4e00\u500b\u91d1\u878d\u6307\u6578\u7531\u591a\u500b\u516c\u53f8\u7d44\u6210\u5982\u8868\u683c\u6240\u793a\uff1a<\/p>\n\n\n\n<table class=\"wp-block-table aligncenter\"><tbody><tr><td>indexId<\/td><td>array&lt;int&gt; compositions<\/td><\/tr><tr><td>1<\/td><td>[100,200,300]<\/td><\/tr><tr><td>2<\/td><td>[400,500]<\/td><\/tr><\/tbody><\/table>\n\n\n\n<p>\u7d93\u904e\u4ee5\u4e0b<\/p>\n<pre class=\"lang:sql\">SELECT explode(compositions) AS compositionId FROM myTable;<\/pre>\n<p>\u6211\u5011\u53ef\u4ee5\u5f97\u5230\uff1a<\/p>\n\n\n\n<table class=\"wp-block-table aligncenter\"><tbody><tr><td>compositionId<\/td><\/tr><tr><td>100<\/td><\/tr><tr><td>200<\/td><\/tr><tr><td>300<\/td><\/tr><tr><td>400<\/td><\/tr><tr><td>500<\/td><\/tr><\/tbody><\/table>\n\n\n\n<h5>Inline<\/h5>\n<p style=\"text-align: justify;\">\u5b9a\u7fa9\uff1aExplodes an array of structs to multiple rows. Returns a row-set with N columns (N = number of top level elements in the struct), one row per struct from the array. \u57fa\u672c\u4e0a inline \u7684\u529f\u80fd\u8ddf explode \u662f\u975e\u5e38\u985e\u4f3c\u7684\uff0c\u5dee\u5225\u5728\u65bc\u5982\u679c\u76ee\u6a19\u5c0d\u8c61\u662f array&lt;struct&gt; \u7684\u8a71\uff0cinline \u53ef\u4ee5\u76f4\u63a5\u628a struct \u88e1\u9762 N column \u7684\u503c\u5217\u6210\u4e00\u500b\u8868\uff0c\u76f8\u53cd\u7684 explode \u53ea\u80fd\u5920\u7528 struct \u7684\u65b9\u5f0f\u5448\u73fe\u3002<\/p>\n<p>\u4ee5\u4e0b\u6211\u5011\u7528\u5be6\u969b\u7684\u4f8b\u5b50\u4f86\u5448\u73fe\u9019\u5169\u500b\u51fd\u5f0f\u7684\u5dee\u7570\uff1a<\/p>\n<pre class=\"lang:sql\">select inline(array(struct('A',10,date '2019-01-01'),struct('B',20,date '2019-02-02')));\nselect explode(array(struct('A',10,date '2019-01-01'),struct('B',20,date '2019-02-02')));<\/pre>\n<p>\u4ee5\u4e0b\u662f inline \u7684\u7d50\u679c\uff1a<\/p>\n\n\n\n<table class=\"wp-block-table aligncenter\"><tbody><tr><td>col1<\/td><td>col2<\/td><td>col3<\/td><\/tr><tr><td>A<\/td><td>10<\/td><td>2019-01-01<\/td><\/tr><tr><td>B<\/td><td>20<\/td><td>2019-02-02<\/td><\/tr><\/tbody><\/table>\n\n\n\n<p>\u4ee5\u4e0b\u662f explode \u7684\u7d50\u679c\uff1a<\/p>\n\n\n\n<table class=\"wp-block-table aligncenter\"><tbody><tr><td>_2<\/td><\/tr><tr><td>struct(&#8216;A&#8217;,10,date &#8216;2019-01-01&#8217;)<\/td><\/tr><tr><td>struct(&#8216;A&#8217;,20,date &#8216;2019-02-02&#8217;)<\/td><\/tr><\/tbody><\/table>\n\n\n\n<h5>Lateral View<\/h5>\n<p>\u4e0a\u9762\u4ecb\u7d39\u7684 explode&nbsp; \u8207 inline \u4e5f\u53ef\u4ee5\u914d\u5408 Lateral View \u4f7f\u7528\uff0c\u4f7f\u7528 Lateral View \u5c31\u5c6c\u65bc UDTF \u7684\u7bc4\u7587\uff0c\u53ef\u4ee5\u7522\u751f\u4e00\u500b\u65b0\u7684\u8868\u683c\uff0c\u4ee5\u540c\u6a23\u7684\u8868\u683c\u70ba\u7bc4\u4f8b\uff0c\u4f7f\u7528<\/p>\n<pre class=\"lang:sql\">SELECT indexId, compositionId FROM myTable \nLATERAL VIEW explode(compositions) compoTable AS compositionId;\n\nSELECT indexId, compoTable.* FROM myTable \nLATERAL VIEW inline(compositions) compoTable;<\/pre>\n<p>\u6211\u5011\u4e5f\u53ef\u4ee5\u5f97\u5230\u4e00\u6a23\u7684\u7d50\u679c\uff0c\u5dee\u5225\u5728\u65bc\u76f4\u63a5\u4f7f\u7528 explode \u8207 inline \u4e0d\u80fd\u5920\u5728 SELECT&nbsp; \u4e4b\u5f8c\u52a0\u5165\u5176\u4ed6\u7684\u8a0a\u606f\u4f8b\u5982 indexId \u7b49\u7b49\uff0c\u53ea\u6703\u986f\u793a compositionId.<\/p>\n\n\n\n<table class=\"wp-block-table aligncenter\"><tbody><tr><td>indexId<\/td><td>compositionId<\/td><\/tr><tr><td>1<\/td><td>100<\/td><\/tr><tr><td>1<\/td><td>200<\/td><\/tr><tr><td>1<\/td><td>300<\/td><\/tr><tr><td>2<\/td><td>400<\/td><\/tr><tr><td>2<\/td><td>500<\/td><\/tr><\/tbody><\/table>\n\n\n\n<h5>\u7d50\u8ad6<\/h5>\n<p>Lateral View \u901a\u5e38\u8207 UDTF \u4e00\u8d77\u51fa\u73fe\u9084\u89e3\u6c7a UDF \u4e0d\u5141\u8a31\u5728 SELECT \u5b57\u4e32\u4e2d\u52a0\u5165\u5176\u4ed6\u884c\u7684\u554f\u984c\u3002<\/p>\n<h5>\u53c3\u8003\u8cc7\u6599<\/h5>\n<p>https:\/\/cwiki.apache.org\/confluence\/display\/Hive\/LanguageManual+UDF<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7576\u6211\u5011\u4e0b\u6307\u4ee4\u8a62\u554f Hive \u7684\u8cc7\u6599\u5eab\u7684\u6642\u5019\uff0c\u5728\u6bd4\u8f03\u9032\u968e\u7684\u60c5\u6cc1\u4e2d\uff0c\u5e38\u5e38\u6703\u9047\u5230\u4e00\u4e9b\u8907\u96dc\u7684\u8cc7\u6599\u7d50\u69cb(struct)\uff0c\u4f8b\u5982 array, map, array<struct>, map<int,struct> \u7b49\u7b49\u3002\u672c\u7bc7\u7684\u76ee\u7684\u662f\u6574\u7406\u4e00\u4e9b\u5e38\u7528\u7684 Hive \u7684\u6307\u4ee4\u53ef\u4ee5\u5e6b\u52a9\u6211\u5011\u8655\u7406\u8907\u96dc\u7684\u8cc7\u6599\u7d50\u69cb\u3002<\/p>\n","protected":false},"author":1,"featured_media":1717,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[23,21,24,22],"class_list":["post-1696","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bigdata-ml","tag-explode","tag-hive","tag-lateral-view","tag-udf"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Hive] \u5e38\u7528\u7684 UDF \u6307\u4ee4 - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/myoceane.fr\/index.php\/hive-\u5e38\u7528\u7684-udf-\u6307\u4ee4\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Hive] \u5e38\u7528\u7684 UDF \u6307\u4ee4 - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane\" \/>\n<meta property=\"og:description\" content=\"\u7576\u6211\u5011\u4e0b\u6307\u4ee4\u8a62\u554f Hive \u7684\u8cc7\u6599\u5eab\u7684\u6642\u5019\uff0c\u5728\u6bd4\u8f03\u9032\u968e\u7684\u60c5\u6cc1\u4e2d\uff0c\u5e38\u5e38\u6703\u9047\u5230\u4e00\u4e9b\u8907\u96dc\u7684\u8cc7\u6599\u7d50\u69cb(struct)\uff0c\u4f8b\u5982 array, map, array, map \u7b49\u7b49\u3002\u672c\u7bc7\u7684\u76ee\u7684\u662f\u6574\u7406\u4e00\u4e9b\u5e38\u7528\u7684 Hive \u7684\u6307\u4ee4\u53ef\u4ee5\u5e6b\u52a9\u6211\u5011\u8655\u7406\u8907\u96dc\u7684\u8cc7\u6599\u7d50\u69cb\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/myoceane.fr\/index.php\/hive-\u5e38\u7528\u7684-udf-\u6307\u4ee4\/\" \/>\n<meta property=\"og:site_name\" content=\"\u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-04T14:45:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-15T10:51:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/myoceane.fr\/wp-content\/uploads\/2019\/07\/\u87a2\u5e55\u5feb\u7167-2019-09-04-\u4e0b\u53484.59.11.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2490\" \/>\n\t<meta property=\"og:image:height\" content=\"442\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"\u6ab8\u6aac\u7238\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6ab8\u6aac\u7238\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/\"},\"author\":{\"name\":\"\u6ab8\u6aac\u7238\",\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b\"},\"headline\":\"[Hive] \u5e38\u7528\u7684 UDF \u6307\u4ee4\",\"datePublished\":\"2019-09-04T14:45:53+00:00\",\"dateModified\":\"2019-09-15T10:51:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/\"},\"wordCount\":174,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b\"},\"image\":{\"@id\":\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/myoceane.fr\/wp-content\/uploads\/2019\/07\/\u87a2\u5e55\u5feb\u7167-2019-09-04-\u4e0b\u53484.59.11.png\",\"keywords\":[\"explode\",\"Hive\",\"lateral view\",\"UDF\"],\"articleSection\":[\"Big Data &amp; Machine Learning\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/\",\"url\":\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/\",\"name\":\"[Hive] \u5e38\u7528\u7684 UDF \u6307\u4ee4 - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane\",\"isPartOf\":{\"@id\":\"https:\/\/myoceane.fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/myoceane.fr\/wp-content\/uploads\/2019\/07\/\u87a2\u5e55\u5feb\u7167-2019-09-04-\u4e0b\u53484.59.11.png\",\"datePublished\":\"2019-09-04T14:45:53+00:00\",\"dateModified\":\"2019-09-15T10:51:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#primaryimage\",\"url\":\"https:\/\/myoceane.fr\/wp-content\/uploads\/2019\/07\/\u87a2\u5e55\u5feb\u7167-2019-09-04-\u4e0b\u53484.59.11.png\",\"contentUrl\":\"https:\/\/myoceane.fr\/wp-content\/uploads\/2019\/07\/\u87a2\u5e55\u5feb\u7167-2019-09-04-\u4e0b\u53484.59.11.png\",\"width\":2490,\"height\":442},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/myoceane.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Hive] \u5e38\u7528\u7684 UDF \u6307\u4ee4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/myoceane.fr\/#website\",\"url\":\"https:\/\/myoceane.fr\/\",\"name\":\"M-Y-Oceane \u60f3\u65b9\u6d89\u6cd5\u3002\u91cf\u74f6\u5916\u7684\u5929\u7a7a\",\"description\":\"\u60f3\u65b9\u6d89\u6cd5, France, Taiwan, Health, Information Technology\",\"publisher\":{\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/myoceane.fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b\",\"name\":\"\u6ab8\u6aac\u7238\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6cc678684664f8ad45a8d56a6630b183?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6cc678684664f8ad45a8d56a6630b183?s=96&d=mm&r=g\",\"caption\":\"\u6ab8\u6aac\u7238\"},\"logo\":{\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/image\/\"},\"url\":\"https:\/\/myoceane.fr\/index.php\/author\/johnny5584767gmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Hive] \u5e38\u7528\u7684 UDF \u6307\u4ee4 - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/myoceane.fr\/index.php\/hive-\u5e38\u7528\u7684-udf-\u6307\u4ee4\/","og_locale":"en_US","og_type":"article","og_title":"[Hive] \u5e38\u7528\u7684 UDF \u6307\u4ee4 - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane","og_description":"\u7576\u6211\u5011\u4e0b\u6307\u4ee4\u8a62\u554f Hive \u7684\u8cc7\u6599\u5eab\u7684\u6642\u5019\uff0c\u5728\u6bd4\u8f03\u9032\u968e\u7684\u60c5\u6cc1\u4e2d\uff0c\u5e38\u5e38\u6703\u9047\u5230\u4e00\u4e9b\u8907\u96dc\u7684\u8cc7\u6599\u7d50\u69cb(struct)\uff0c\u4f8b\u5982 array, map, array, map \u7b49\u7b49\u3002\u672c\u7bc7\u7684\u76ee\u7684\u662f\u6574\u7406\u4e00\u4e9b\u5e38\u7528\u7684 Hive \u7684\u6307\u4ee4\u53ef\u4ee5\u5e6b\u52a9\u6211\u5011\u8655\u7406\u8907\u96dc\u7684\u8cc7\u6599\u7d50\u69cb\u3002","og_url":"https:\/\/myoceane.fr\/index.php\/hive-\u5e38\u7528\u7684-udf-\u6307\u4ee4\/","og_site_name":"\u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane","article_published_time":"2019-09-04T14:45:53+00:00","article_modified_time":"2019-09-15T10:51:22+00:00","og_image":[{"width":2490,"height":442,"url":"https:\/\/myoceane.fr\/wp-content\/uploads\/2019\/07\/\u87a2\u5e55\u5feb\u7167-2019-09-04-\u4e0b\u53484.59.11.png","type":"image\/png"}],"author":"\u6ab8\u6aac\u7238","twitter_card":"summary_large_image","twitter_misc":{"Written by":"\u6ab8\u6aac\u7238","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#article","isPartOf":{"@id":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/"},"author":{"name":"\u6ab8\u6aac\u7238","@id":"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b"},"headline":"[Hive] \u5e38\u7528\u7684 UDF \u6307\u4ee4","datePublished":"2019-09-04T14:45:53+00:00","dateModified":"2019-09-15T10:51:22+00:00","mainEntityOfPage":{"@id":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/"},"wordCount":174,"commentCount":0,"publisher":{"@id":"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b"},"image":{"@id":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#primaryimage"},"thumbnailUrl":"https:\/\/myoceane.fr\/wp-content\/uploads\/2019\/07\/\u87a2\u5e55\u5feb\u7167-2019-09-04-\u4e0b\u53484.59.11.png","keywords":["explode","Hive","lateral view","UDF"],"articleSection":["Big Data &amp; Machine Learning"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/","url":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/","name":"[Hive] \u5e38\u7528\u7684 UDF \u6307\u4ee4 - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane","isPartOf":{"@id":"https:\/\/myoceane.fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#primaryimage"},"image":{"@id":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#primaryimage"},"thumbnailUrl":"https:\/\/myoceane.fr\/wp-content\/uploads\/2019\/07\/\u87a2\u5e55\u5feb\u7167-2019-09-04-\u4e0b\u53484.59.11.png","datePublished":"2019-09-04T14:45:53+00:00","dateModified":"2019-09-15T10:51:22+00:00","breadcrumb":{"@id":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#primaryimage","url":"https:\/\/myoceane.fr\/wp-content\/uploads\/2019\/07\/\u87a2\u5e55\u5feb\u7167-2019-09-04-\u4e0b\u53484.59.11.png","contentUrl":"https:\/\/myoceane.fr\/wp-content\/uploads\/2019\/07\/\u87a2\u5e55\u5feb\u7167-2019-09-04-\u4e0b\u53484.59.11.png","width":2490,"height":442},{"@type":"BreadcrumbList","@id":"https:\/\/myoceane.fr\/index.php\/hive-%e5%b8%b8%e7%94%a8%e7%9a%84-udf-%e6%8c%87%e4%bb%a4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/myoceane.fr\/"},{"@type":"ListItem","position":2,"name":"[Hive] \u5e38\u7528\u7684 UDF \u6307\u4ee4"}]},{"@type":"WebSite","@id":"https:\/\/myoceane.fr\/#website","url":"https:\/\/myoceane.fr\/","name":"M-Y-Oceane \u60f3\u65b9\u6d89\u6cd5\u3002\u91cf\u74f6\u5916\u7684\u5929\u7a7a","description":"\u60f3\u65b9\u6d89\u6cd5, France, Taiwan, Health, Information Technology","publisher":{"@id":"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/myoceane.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b","name":"\u6ab8\u6aac\u7238","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/myoceane.fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6cc678684664f8ad45a8d56a6630b183?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6cc678684664f8ad45a8d56a6630b183?s=96&d=mm&r=g","caption":"\u6ab8\u6aac\u7238"},"logo":{"@id":"https:\/\/myoceane.fr\/#\/schema\/person\/image\/"},"url":"https:\/\/myoceane.fr\/index.php\/author\/johnny5584767gmail-com\/"}]}},"amp_enabled":false,"_links":{"self":[{"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/posts\/1696","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/comments?post=1696"}],"version-history":[{"count":31,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/posts\/1696\/revisions"}],"predecessor-version":[{"id":1765,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/posts\/1696\/revisions\/1765"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/media\/1717"}],"wp:attachment":[{"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1696"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/categories?post=1696"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/tags?post=1696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}