我正在寻找一个api,检查提交的sql,但不需要执行它。当我的用户提交一个sql时,我需要实时告诉他们sql是否正确,然后我需要保存sql并在将来执行sql。那么如果hiveapi有这个特性呢?
ljo96ir51#
EXPLAIN <query to be checked> 符合你的要求。hive提供一个explain命令,显示查询的执行计划。执行查询时使用 EXPLAIN 在查询开始时,首先检查查询是否有语法错误,然后显示执行计划作为结果。通过这种方式,用户将能够检查他们编写的查询是否正确,以及从执行计划执行查询是否有效(这里没有实际执行查询)阅读更多关于 EXPLAIN ,你可以参考这里查询的示例输出 EXPLAIN :
EXPLAIN <query to be checked>
EXPLAIN
EXPLAIN SELECT * FROM test_table; STAGE DEPENDENCIES: 2 Stage-0 is a root stage 3 4 STAGE PLANS: 5 Stage: Stage-0 6 Fetch Operator 7 limit: -1 8 Processor Tree: 9 TableScan 10 alias: test_table 11 Statistics: Num rows: 1 Data size: 15812 Basic stats: COMPLETE Column stats: NONE 12 Select Operator 13 expressions: id (type: int), name (type: string), email_preferences (type: struct<email_format:string,frequency:string,categories:struct<promos:boolean,surveys:boolean>>), addresses (type: map<string,struct<street_1:string,street_2:string,city:string,state:string,zip_code:string>>), orders (type: array<struct<order_id:string,order_date:string,items:array<struct<product_id:int,sku:string,name:string,price:double,qty:int>>>>) 14 outputColumnNames: _col0, _col1, _col2, _col3, _col4 15 Statistics: Num rows: 1 Data size: 15812 Basic stats: COMPLETE Column stats: NONE 16 ListSink
希望有帮助!
1条答案
按热度按时间ljo96ir51#
EXPLAIN <query to be checked>
符合你的要求。hive提供一个explain命令,显示查询的执行计划。执行查询时使用
EXPLAIN
在查询开始时,首先检查查询是否有语法错误,然后显示执行计划作为结果。通过这种方式,用户将能够检查他们编写的查询是否正确,以及从执行计划执行查询是否有效(这里没有实际执行查询)阅读更多关于
EXPLAIN
,你可以参考这里查询的示例输出
EXPLAIN
:希望有帮助!