0

大家好,

我正在尝试在邮递员中传递参数以运行一些基本上是 hive/sql 查询的查询模板。这就是从邮递员传递参数以执行的 TemplateTable.json(这是一个查询模板)的样子

 [ 
 {   
 "templateId":  "TemplateTable",
 "description": "TemplateTable", 
 "statements":   [ "set hive.exec.dynamic.partition.mode=nonstrict",
 "DROP VIEW IF EXISTS TemplateTable",
 "CREATE VIEW TemplateTableAS
     SELECT
         /*+ MAPJOIN(m) */
         i.base_time_stamp as timestamp_utc,
         CAST(regexp_extract(i.context, ';c/4/([0-9]+)' , 1) AS INT) as source_id,
         nw_name as network,
         @{day} as day
     FROM  Table1 m
     JOIN  Table2 i ON (CAST(regexp_extract(i.context, ';c/4/([0-9]+)' , 1) AS INT) = m.source_id)"  ],

"parameters":
    [
    {"name": "day", "required": true,  "description": "day can be any day of the week with numeric codes"}
    ]
}
]

==================================================== ==========================

在邮递员处:

{ "templateId": "TemplateTable" , "parameters":{"day":"CASE from_unixtime(unix_timestamp(starttime), 'EEE') WHEN 'Mon' THEN '01|Mon' WHEN 'Tue' THEN '02|Tue ' WHEN 'Wed' THEN '03|Wed' WHEN 'Thu' THEN '04|Thu' WHEN 'Fri' THEN '05|Fri'
WHEN 'Sat' THEN '06|Sat' WHEN 'Sun' THEN '07|Sun ' 结尾 ”} }

即使它没有给出任何错误消息,它也不会在数据库中创建视图首先)如果有人可以指出如何使用像上述情况这样的表达式作为参数传递其次)如果有人可以提供一些有用的链接来显示参数是在邮递员中作为大表达式传递,这将非常有帮助。谢谢

4

1 回答 1

0

您的问题有点含糊,但为了发布 JSON,您显然应该确保在 Verb 下拉列表中选择了正确的 HTTP Verb。然后单击原始选项卡(它是左起第三个选项卡,分别位于 form-data 和 x-www-form-urlencoded 之后)。从这里您可以粘贴整个 JSON 内容。确保选择正确的内容类型(在本例中为 application/json)。或者,您可以转到二进制选项卡,我相信上传文件。我通常将我的 JSON 粘贴到原始部分,所以我不能 100% 确定这部分是如何工作的。

至于数据库中未显示的数据,这是特定于应用程序的,如果没有更多详细信息,我在这方面无能为力。

于 2014-10-23T01:07:12.320 回答