{"id":5697,"date":"2024-05-18T07:39:00","date_gmt":"2024-05-17T23:39:00","guid":{"rendered":"https:\/\/ixyzero.com\/blog\/?p=5697"},"modified":"2024-05-17T20:55:05","modified_gmt":"2024-05-17T12:55:05","slug":"hive%e7%9a%84%e5%9f%ba%e6%9c%ac%e5%8e%9f%e7%90%86%e5%92%8c%e6%9e%b6%e6%9e%84%e5%ad%a6%e4%b9%a0","status":"publish","type":"post","link":"https:\/\/ixyzero.com\/blog\/archives\/5697.html","title":{"rendered":"Hive\u7684\u57fa\u672c\u539f\u7406\u548c\u67b6\u6784\u5b66\u4e60"},"content":{"rendered":"\n<p>=Start=<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u7f18\u7531\uff1a<\/h4>\n\n\n\n<p>\u6700\u8fd1\u5728\u5168\u9762\u6574\u7406\u5404\u5927\u6570\u636e\u5b58\u50a8\/\u5904\u7406\u7cfb\u7edf\u7684\u67b6\u6784\u3001\u65e5\u5fd7\u8bb0\u5f55\u548c\u5b89\u5168\u76d1\u63a7\u80fd\u529b\uff0c\u8fd9\u6b21\u662f Hive \uff0c\u5148\u6574\u7406\u5b66\u4e60\u4e00\u4e0b Hive \u7684\u57fa\u672c\u539f\u7406\u53ca\u5176\u67b6\u6784\uff0c\u65b9\u4fbf\u7406\u89e3\u4e00\u4e9b\u95ee\u9898\u548c\u8bbe\u8ba1\u601d\u8def\uff0c\u4e5f\u65b9\u4fbf\u540e\u9762\u6709\u9700\u8981\u7684\u65f6\u5019\u53c2\u8003\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u6b63\u6587\uff1a<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">\u53c2\u8003\u89e3\u7b54\uff1a<\/h5>\n\n\n\n<p>Hive \u662f\u57fa\u4e8e Hadoop \u7684\u4e00\u4e2a\u6570\u636e\u4ed3\u5e93\u5de5\u5177\uff0c\u53ef\u4ee5\u5c06\u7ed3\u6784\u5316\u7684\u6570\u636e\u6587\u4ef6\u6620\u5c04\u4e3a\u4e00\u5f20\u6570\u636e\u5e93\u8868\uff0c\u5e76\u63d0\u4f9b\u7c7b SQL \u67e5\u8be2\u529f\u80fd\u3002<strong>\u5176\u672c\u8d28\u662f\u5c06 SQL \u8f6c\u6362\u4e3a MapReduce\/Spark \u7684\u4efb\u52a1\u8fdb\u884c\u8fd0\u7b97<\/strong>\uff0c\u5e95\u5c42\u7531 HDFS \u6765\u63d0\u4f9b\u6570\u636e\u7684\u5b58\u50a8\uff0c\u8bf4\u767d\u4e86 Hive \u53ef\u4ee5\u7406\u89e3\u4e3a\u4e00\u4e2a\u5c06 SQL \u8f6c\u6362\u4e3a MapReduce\/Spark \u7684\u4efb\u52a1\u7684\u5de5\u5177\uff0c\u751a\u81f3\u66f4\u8fdb\u4e00\u6b65\u53ef\u4ee5\u8bf4 Hive \u5c31\u662f\u4e00\u4e2a MapReduce\/Spark Sql \u7684\u5ba2\u6237\u7aef\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">Hive \u7684\u4e3b\u8981\u7ec4\u4ef6<\/h4>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"530\" src=\"https:\/\/ixyzero.com\/blog\/wp-content\/uploads\/2024\/05\/hive-system_architecture-1024x530.png\" alt=\"\" class=\"wp-image-5698\" srcset=\"https:\/\/ixyzero.com\/wp-content\/uploads\/2024\/05\/hive-system_architecture-1024x530.png 1024w, https:\/\/ixyzero.com\/wp-content\/uploads\/2024\/05\/hive-system_architecture-300x155.png 300w, https:\/\/ixyzero.com\/wp-content\/uploads\/2024\/05\/hive-system_architecture-768x397.png 768w, https:\/\/ixyzero.com\/wp-content\/uploads\/2024\/05\/hive-system_architecture.png 1342w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>UI \u2013 The user interface for users to submit queries and other operations to the system.<br>\u7528\u6237\u754c\u9762\uff08UI\uff09&#8211;\u7528\u6237\u5411\u7cfb\u7edf\u63d0\u4ea4\u67e5\u8be2\u548c\u5176\u4ed6\u64cd\u4f5c\u7684\u7528\u6237\u754c\u9762\u3002<\/p>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#ff0000\" class=\"has-inline-color\">Driver \u2013 The component which receives the queries.<\/mark><\/strong> This component implements the notion of session handles and provides execute and fetch APIs modeled on JDBC\/ODBC interfaces.<br><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#ff0000\" class=\"has-inline-color\">\u9a71\u52a8\u7a0b\u5e8f &#8211; \u63a5\u6536\u67e5\u8be2\u7684\u7ec4\u4ef6\u3002<\/mark><\/strong>\u8be5\u7ec4\u4ef6\u5b9e\u73b0\u4f1a\u8bdd\u53e5\u67c4\u7684\u6982\u5ff5\uff0c\u5e76\u63d0\u4f9b\u4ee5 JDBC\/ODBC \u63a5\u53e3\u4e3a\u6a21\u578b\u7684\u6267\u884c\u548c\u83b7\u53d6 API\u3002<\/p>\n\n\n\n<p>Compiler \u2013 The component that parses the query, does semantic analysis on the different query blocks and query expressions and eventually generates an execution plan with the help of the table and partition metadata looked up from the metastore.<br>\u7f16\u8bd1\u5668 &#8211; \u8be5\u7ec4\u4ef6\u8d1f\u8d23\u89e3\u6790\u67e5\u8be2\uff0c\u5bf9\u4e0d\u540c\u7684\u67e5\u8be2\u5757\u548c\u67e5\u8be2\u8868\u8fbe\u5f0f\u8fdb\u884c\u8bed\u4e49\u5206\u6790\uff0c\u5e76\u501f\u52a9\u4ece\u5143\u5b58\u50a8\u4e2d\u67e5\u627e\u7684\u8868\u548c\u5206\u533a\u5143\u6570\u636e\u6700\u7ec8\u751f\u6210\u6267\u884c\u8ba1\u5212\u3002<\/p>\n\n\n\n<p>Metastore \u2013 The component that stores all the structure information of the various tables and partitions in the warehouse including column and column type information, the serializers and deserializers necessary to read and write data and the corresponding HDFS files where the data is stored.<br>\u5143\u5b58\u50a8 &#8211; \u5b58\u50a8\u4ed3\u5e93\u4e2d\u5404\u79cd\u8868\u548c\u5206\u533a\u7684\u6240\u6709\u7ed3\u6784\u4fe1\u606f\u7684\u7ec4\u4ef6\uff0c\u5305\u62ec\u5217\u548c\u5217\u7c7b\u578b\u4fe1\u606f\u3001\u8bfb\u5199\u6570\u636e\u6240\u9700\u7684\u5e8f\u5217\u5316\u5668\u548c\u53cd\u5e8f\u5217\u5316\u5668\u4ee5\u53ca\u5b58\u50a8\u6570\u636e\u7684\u76f8\u5e94 HDFS \u6587\u4ef6\u3002<\/p>\n\n\n\n<p>Execution Engine \u2013 The component which executes the execution plan created by the compiler. The plan is a DAG of stages. The execution engine manages the dependencies between these different stages of the plan and executes these stages on the appropriate system components.<br>\u6267\u884c\u5f15\u64ce &#8211; \u6267\u884c\u7f16\u8bd1\u5668\u521b\u5efa\u7684\u6267\u884c\u8ba1\u5212\u7684\u7ec4\u4ef6\u3002\u8be5\u8ba1\u5212\u662f\u7531\u591a\u4e2a\u9636\u6bb5\u7ec4\u6210\u7684 DAG\u3002\u6267\u884c\u5f15\u64ce\u7ba1\u7406\u8ba1\u5212\u4e0d\u540c\u9636\u6bb5\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u5728\u9002\u5f53\u7684\u7cfb\u7edf\u7ec4\u4ef6\u4e0a\u6267\u884c\u8fd9\u4e9b\u9636\u6bb5\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Hive\u4e0eHadoop\u7684\u4ea4\u4e92\u6d41\u7a0b<\/h4>\n\n\n\n<p>\u4e0a\u56fe\u8fd8\u663e\u793a\u4e86\u4e00\u4e2a\u5178\u578b\u67e5\u8be2\u662f\u5982\u4f55\u5728\u7cfb\u7edf\u4e2d\u6d41\u52a8\u7684\u3002<\/p>\n\n\n\n<p>\u7528\u6237\u754c\u9762\u8c03\u7528\u9a71\u52a8\u7a0b\u5e8f\u7684\u6267\u884c\u63a5\u53e3\uff08\u4e0a\u56fe\u4e2d\u7684\u6b65\u9aa4 1\uff09\u3002<br>\u9a71\u52a8\u7a0b\u5e8f\u4e3a\u67e5\u8be2\u521b\u5efa\u4f1a\u8bdd\u53e5\u67c4\uff0c\u5e76\u5c06\u67e5\u8be2\u53d1\u9001\u7ed9\u7f16\u8bd1\u5668\u4ee5\u751f\u6210\u6267\u884c\u8ba1\u5212\uff08\u6b65\u9aa4 2\uff09\u3002<br>\u7f16\u8bd1\u5668\u4ece\u5143\u5b58\u50a8\u4e2d\u83b7\u53d6\u5fc5\u8981\u7684\u5143\u6570\u636e\uff08\u6b65\u9aa4 3 \u548c 4\uff09\u3002<br>\u5143\u6570\u636e\u7528\u4e8e\u5bf9\u67e5\u8be2\u6811\u4e2d\u7684\u8868\u8fbe\u5f0f\u8fdb\u884c\u7c7b\u578b\u68c0\u67e5\uff0c\u5e76\u6839\u636e\u67e5\u8be2\u8c13\u8bcd\u526a\u5207\u5206\u533a\u3002\u7f16\u8bd1\u5668\u751f\u6210\u7684\u8ba1\u5212\uff08\u6b65\u9aa4 5\uff09\u662f\u4e00\u4e2a\u9636\u6bb5 DAG\uff0c\u6bcf\u4e2a\u9636\u6bb5\u53ef\u4ee5\u662f\u4e00\u4e2a map\/reduce \u4f5c\u4e1a\u3001\u4e00\u4e2a\u5143\u6570\u636e\u64cd\u4f5c\u6216 HDFS \u4e0a\u7684\u4e00\u4e2a\u64cd\u4f5c\u3002<br>\u5bf9\u4e8e\u6620\u5c04\/\u8fd8\u539f\u9636\u6bb5\uff0c\u8ba1\u5212\u5305\u542b\u6620\u5c04\u8fd0\u7b97\u6811\uff08\u5728\u6620\u5c04\u5668\u4e0a\u6267\u884c\u7684\u8fd0\u7b97\u6811\uff09\u548c\u8fd8\u539f\u8fd0\u7b97\u6811\uff08\u7528\u4e8e\u9700\u8981\u8fd8\u539f\u5668\u7684\u64cd\u4f5c\uff09\u3002<br>\u6267\u884c\u5f15\u64ce\u4f1a\u5c06\u8fd9\u4e9b\u9636\u6bb5\u63d0\u4ea4\u7ed9\u76f8\u5e94\u7684\u7ec4\u4ef6\uff08\u6b65\u9aa4 6\u30016.1\u30016.2 \u548c 6.3\uff09\u3002<br>\u5728\u6bcf\u4e2a\u4efb\u52a1\uff08\u6620\u5c04\u5668\/\u8fd8\u539f\u5668\uff09\u4e2d\uff0c\u4e0e\u8868\u683c\u6216\u4e2d\u95f4\u8f93\u51fa\u76f8\u5173\u7684\u53cd\u5e8f\u5217\u5316\u5668\u7528\u4e8e\u4ece HDFS \u6587\u4ef6\u4e2d\u8bfb\u53d6\u884c\uff0c\u5e76\u901a\u8fc7\u76f8\u5173\u7684\u8fd0\u7b97\u6811\u3002\u8f93\u51fa\u751f\u6210\u540e\uff0c\u5c06\u901a\u8fc7\u5e8f\u5217\u5316\u5668\u5199\u5165\u4e34\u65f6 HDFS \u6587\u4ef6\uff08\u5982\u679c\u64cd\u4f5c\u4e0d\u9700\u8981\u8fd8\u539f\uff0c\u5219\u5728\u6620\u5c04\u5668\u4e2d\u8fdb\u884c\uff09\u3002\u4e34\u65f6\u6587\u4ef6\u7528\u4e8e\u4e3a\u8ba1\u5212\u7684\u540e\u7eed\u6620\u5c04\/\u8fd8\u539f\u9636\u6bb5\u63d0\u4f9b\u6570\u636e\u3002\u5bf9\u4e8e DML \u64cd\u4f5c\uff0c\u6700\u7ec8\u4e34\u65f6\u6587\u4ef6\u4f1a\u88ab\u79fb\u52a8\u5230\u8868\u7684\u4f4d\u7f6e\u3002\u8be5\u65b9\u6848\u7528\u4e8e\u786e\u4fdd\u4e0d\u8bfb\u53d6\u810f\u6570\u636e\uff08\u6587\u4ef6\u91cd\u547d\u540d\u5728 HDFS \u4e2d\u662f\u539f\u5b50\u64cd\u4f5c\uff09\u3002\u5bf9\u4e8e\u67e5\u8be2\uff0c\u6267\u884c\u5f15\u64ce\u76f4\u63a5\u4ece HDFS \u8bfb\u53d6\u4e34\u65f6\u6587\u4ef6\u7684\u5185\u5bb9\uff0c\u4f5c\u4e3a\u4ece\u9a71\u52a8\u7a0b\u5e8f\u83b7\u53d6\u8c03\u7528\u7684\u4e00\u90e8\u5206\uff08\u6b65\u9aa4 7\u30018 \u548c 9\uff09\u3002<\/p>\n\n\n\n<p>1\u3001 executeQuery\uff1a\u7528\u6237\u901a\u8fc7Hive\u754c\u9762\uff08CLI\/Web UI\uff09\u5c06\u67e5\u8be2\u8bed\u53e5\u53d1\u9001\u5230Driver\uff08\u9a71\u52a8\u6709JDBC\u3001ODBC\u7b49\uff09\u6765\u6267\u884c\uff1b<\/p>\n\n\n\n<p>2\u3001 getPlan \uff1aDriver\u6839\u636e\u67e5\u8be2\u7f16\u8bd1\u5668\u89e3\u6790query\u8bed\u53e5\uff0c\u9a8c\u8bc1query\u8bed\u53e5\u7684\u8bed\u6cd5\u3001\u67e5\u8be2\u8ba1\u5212\u3001\u67e5\u8be2\u6761\u4ef6\uff1b<\/p>\n\n\n\n<p>3\u3001 getMetaData\uff1a\u7f16\u8bd1\u5668\u5c06\u5143\u6570\u636e\u8bf7\u6c42\u53d1\u9001\u7ed9Metastore\uff1b<\/p>\n\n\n\n<p>4\u3001 send MetaData\uff1aMetastore\u5c06\u5143\u6570\u636e\u4f5c\u4e3a\u54cd\u5e94\u53d1\u9001\u7ed9\u7f16\u8bd1\u5668\uff1b<\/p>\n\n\n\n<p>5\u3001 send Plan\uff1a\u7f16\u8bd1\u5668\u68c0\u67e5\u8981\u6c42\u548c\u91cd\u65b0\u53d1\u9001Driver\u7684\u8ba1\u5212\u3002\u81f3\u6b64\uff0c\u67e5\u8be2\u7684\u89e3\u6790\u548c\u7f16\u8bd1\u5b8c\u6210\uff1b<\/p>\n\n\n\n<p>6\u3001 execute Plan\uff1aDriver\u5c06\u6267\u884c\u8ba1\u5212\u53d1\u9001\u7ed9\u6267\u884c\u5f15\u64ce\uff1b<\/p>\n\n\n\n<p>6.1\u3001 MetaDataOps for DDLs\uff1a\u6267\u884c\u5f15\u64ce\u53d1\u9001\u4efb\u52a1\u7684\u540c\u65f6\uff0c\u5bf9hive\u5143\u6570\u636e\u8fdb\u884c\u76f8\u5e94\u64cd\u4f5c\uff08\u76f4\u63a5\u5bf9\u6570\u636e\u5e93\u8868\u8fdb\u884c\u64cd\u4f5c\u7684\uff08\u521b\u5efa\u8868\u3001\u5220\u9664\u8868\u7b49\uff09\uff0c\u76f4\u63a5\u4e0eMetaStore\u8fdb\u884c\u4ea4\u4e92\uff09\u3002<\/p>\n\n\n\n<p>6.1\u3001 execute Job\uff1amapreduce\u6267\u884cjob\u7684\u8fc7\u7a0b\u3002\u6267\u884c\u5f15\u64ce\u53d1\u9001\u4efb\u52a1\u5230resourcemanager\uff0cresourcemanager\u5c06\u4efb\u52a1\u5206\u914d\u7ed9nodenameger\uff0c\u7531nodemanager\u5206\u5e03\u5f0f\u6267\u884cmapreduce\u4efb\u52a1\u3002<\/p>\n\n\n\n<p>6.2\u3001 \u4efb\u52a1\u6267\u884c\u7ed3\u675f\uff0c\u8fd4\u56de\u6267\u884c\u7ed3\u679c\u7ed9\u6267\u884c\u5f15\u64ce\uff0c\u540c\u6b65\u6267\u884c6.3\uff1b<\/p>\n\n\n\n<p>6.3\u3001 \u627eNamenode\u83b7\u53d6\u6570\u636e<\/p>\n\n\n\n<p>7\u3001fetch Results\uff1a\u6267\u884c\u5f15\u64ce\u63a5\u6536\u6765\u81ea\u6570\u636e\u8282\u70b9(data node)\u7684\u7ed3\u679c<\/p>\n\n\n\n<p>8\u3001sendResults\uff1a\u6267\u884c\u5f15\u64ce\u53d1\u9001\u8fd9\u4e9b\u5408\u6210\u503c\u5230Driver<\/p>\n\n\n\n<p>9\u3001sendResults\uff1aDriver\u5c06\u7ed3\u679c\u53d1\u9001\u5230hive\u63a5\u53e3<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n\n\n\n<p>\u4e00\u4e2a\u7b80\u5316\u7248\u672c\u7684\u793a\u610f\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"922\" height=\"648\" src=\"https:\/\/ixyzero.com\/blog\/wp-content\/uploads\/2024\/05\/hive-arch-2.webp\" alt=\"\" class=\"wp-image-5699\" srcset=\"https:\/\/ixyzero.com\/wp-content\/uploads\/2024\/05\/hive-arch-2.webp 922w, https:\/\/ixyzero.com\/wp-content\/uploads\/2024\/05\/hive-arch-2-300x211.webp 300w, https:\/\/ixyzero.com\/wp-content\/uploads\/2024\/05\/hive-arch-2-768x540.webp 768w\" sizes=\"auto, (max-width: 922px) 100vw, 922px\" \/><\/figure>\n\n\n\n<p>\u4e0a\u9762\u7684MapReduce\u53ef\u4ee5\u66ff\u6362\u6210Tez\u3001Spark\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u53c2\u8003\u94fe\u63a5\uff1a<\/h5>\n\n\n\n<p>\u4e00\u6587\u5f04\u61c2Hive\u57fa\u672c\u67b6\u6784\u548c\u539f\u7406<br><a href=\"https:\/\/blog.csdn.net\/oTengYue\/article\/details\/91129850\">https:\/\/blog.csdn.net\/oTengYue\/article\/details\/91129850<\/a><\/p>\n\n\n\n<p>Apache Hive<br><a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/Hive\/Home\">https:\/\/cwiki.apache.org\/confluence\/display\/Hive\/Home<\/a><\/p>\n\n\n\n<p>Hive design and architecture<br><a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/Hive\/Design\">https:\/\/cwiki.apache.org\/confluence\/display\/Hive\/Design<\/a><\/p>\n\n\n\n<p>10\u3001Hive\u6838\u5fc3\u6982\u5ff5\u548c\u67b6\u6784\u539f\u7406<br><a href=\"https:\/\/blog.51cto.com\/u_10312890\/2465756\">https:\/\/blog.51cto.com\/u_10312890\/2465756<\/a><\/p>\n\n\n\n<p>Hive\u7684\u67b6\u6784\u5256\u6790<br><a href=\"https:\/\/jiamaoxiang.top\/2020\/06\/27\/Hive%E7%9A%84%E6%9E%B6%E6%9E%84%E5%89%96%E6%9E%90\/\">https:\/\/jiamaoxiang.top\/2020\/06\/27\/Hive%E7%9A%84%E6%9E%B6%E6%9E%84%E5%89%96%E6%9E%90\/<\/a><\/p>\n\n\n\n<p>\u4e00\u7bc7\u6587\u7ae0\u641e\u61c2 Hive \u7684\u7cfb\u7edf\u67b6\u6784<br><a href=\"https:\/\/blog.csdn.net\/Shockang\/article\/details\/118035262\">https:\/\/blog.csdn.net\/Shockang\/article\/details\/118035262<\/a><\/p>\n\n\n\n<p>Hive \u67b6\u6784\u4e0e\u8868\u7c7b\u578b<br><a href=\"https:\/\/xie.infoq.cn\/article\/6949b16d4ebaeef022c003834\">https:\/\/xie.infoq.cn\/article\/6949b16d4ebaeef022c003834<\/a><\/p>\n\n\n\n<p>Hadoop\u4e4bHive\u67b6\u6784\u4e0e\u8bbe\u8ba1<br><a href=\"https:\/\/www.cnblogs.com\/thesungod\/p\/17612231.html\">https:\/\/www.cnblogs.com\/thesungod\/p\/17612231.html<\/a><\/p>\n\n\n\n<p>Hive service, HiveServer2 &amp; MetaStore service?<br><a href=\"https:\/\/stackoverflow.com\/questions\/49799838\/hive-service-hiveserver2-metastore-service\">https:\/\/stackoverflow.com\/questions\/49799838\/hive-service-hiveserver2-metastore-service<\/a><\/p>\n\n\n\n<p>How HiveServer2 Brings Security and Concurrency to Apache Hive<br><a href=\"https:\/\/blog.cloudera.com\/how-hiveserver2-brings-security-and-concurrency-to-apache-hive\/\">https:\/\/blog.cloudera.com\/how-hiveserver2-brings-security-and-concurrency-to-apache-hive\/<\/a><\/p>\n\n\n\n<p>Securing Apache Hive<br><a href=\"https:\/\/docs.cloudera.com\/cdw-runtime\/1.5.1\/securing-hive\/hive_securing_hive.pdf\">https:\/\/docs.cloudera.com\/cdw-runtime\/1.5.1\/securing-hive\/hive_securing_hive.pdf<\/a><\/p>\n\n\n\n<p>A Deep Dive into Apache Hive Architecture: From Data Storage to Data Analysis with SQL-like Hive Query Language<br><a href=\"https:\/\/nexocode.com\/blog\/posts\/what-is-apache-hive\/\">https:\/\/nexocode.com\/blog\/posts\/what-is-apache-hive\/<\/a><\/p>\n\n\n\n<p>Architecture and Working of Hive<br><a href=\"https:\/\/www.geeksforgeeks.org\/architecture-and-working-of-hive\/\">https:\/\/www.geeksforgeeks.org\/architecture-and-working-of-hive\/<\/a><\/p>\n\n\n\n<p>Hive\uff0cHive on Spark\u548cSparkSQL\u533a\u522b<br><a href=\"https:\/\/www.cnblogs.com\/lixiaochun\/p\/9446350.html\">https:\/\/www.cnblogs.com\/lixiaochun\/p\/9446350.html<\/a><\/p>\n\n\n\n<p>\u5927\u6570\u636e\u65f6\u4ee3\u7684\u6280\u672fhive\uff1ahive\u4ecb\u7ecd<br><a href=\"https:\/\/www.cnblogs.com\/sharpxiajun\/archive\/2013\/06\/02\/3114180.html\">https:\/\/www.cnblogs.com\/sharpxiajun\/archive\/2013\/06\/02\/3114180.html<\/a><\/p>\n\n\n\n<p>Hive\u4e0eHadoop\u7684\u4ea4\u4e92\u6d41\u7a0b<br><a href=\"https:\/\/www.cnblogs.com\/MrFee\/p\/hive_hadoop.html\">https:\/\/www.cnblogs.com\/MrFee\/p\/hive_hadoop.html<\/a><\/p>\n\n\n\n<p>Hive\u67b6\u6784\u539f\u7406-\u5b98\u7f51\u4e2d\u6587\u7ffb\u8bd1<br><a href=\"https:\/\/blog.csdn.net\/JacksonKing\/article\/details\/89637131\">https:\/\/blog.csdn.net\/JacksonKing\/article\/details\/89637131<\/a><\/p>\n\n\n\n<p>hive\u57fa\u672c\u6982\u5ff5\u539f\u7406\u4e0e\u5e95\u5c42\u67b6\u6784<br><a href=\"https:\/\/blog.csdn.net\/u013129109\/article\/details\/81453582\">https:\/\/blog.csdn.net\/u013129109\/article\/details\/81453582<\/a><\/p>\n\n\n\n<p>Hive \u67b6\u6784<br><a href=\"https:\/\/www.hadoopdoc.com\/hive\/hive-architecture\">https:\/\/www.hadoopdoc.com\/hive\/hive-architecture<\/a><\/p>\n\n\n\n<p>=END=<\/p>\n","protected":false},"excerpt":{"rendered":"<p>=Start= \u7f18\u7531\uff1a \u6700\u8fd1\u5728\u5168\u9762\u6574\u7406\u5404\u5927\u6570\u636e\u5b58\u50a8\/\u5904\u7406\u7cfb\u7edf\u7684\u67b6\u6784\u3001\u65e5\u5fd7\u8bb0\u5f55\u548c\u5b89\u5168\u76d1\u63a7\u80fd\u529b\uff0c\u8fd9\u6b21\u662f Hive  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,23],"tags":[2282,2279,933,2011,1261,2283,2281,2278,1022,2280,962,1067],"class_list":["post-5697","post","type-post","status-publish","format-standard","hentry","category-database","category-knowledgebase-2","tag-architecture","tag-beeline","tag-hadoop","tag-hdfs","tag-hive","tag-hiveserver2","tag-mapreduce","tag-metastore","tag-spark","tag-tez","tag-962","tag-1067"],"views":1469,"_links":{"self":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/5697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/comments?post=5697"}],"version-history":[{"count":1,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/5697\/revisions"}],"predecessor-version":[{"id":5700,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/5697\/revisions\/5700"}],"wp:attachment":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/media?parent=5697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/categories?post=5697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/tags?post=5697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}