当我在 Snowflake 中像这样计算 1 / 100,000,000 时:
SELECT (1 / 100000000)::NUMBER(38,12);
结果显示为0:
0.000000000000
即使精度足够高。
但是,当我删除两个零并除以 1 / 1,000,000 时,它就会按预期工作:
SELECT (1 / 1000000)::NUMBER(38,12);
然后我得到了正确的结果0.000001:
0.000001000000
这里发生了什么事?
当我在 Snowflake 中像这样计算 1 / 100,000,000 时:
SELECT (1 / 100000000)::NUMBER(38,12);
结果显示为0:
0.000000000000
即使精度足够高。
但是,当我删除两个零并除以 1 / 1,000,000 时,它就会按预期工作:
SELECT (1 / 1000000)::NUMBER(38,12);
然后我得到了正确的结果0.000001:
0.000001000000
这里发生了什么事?
我努力设置正确的权限来执行任务。
当我尝试运行任务图(使用 UI:数据 > 数据库 > {db} > {schema} > 任务 > {my_task})时,我无法单击执行按钮,它显示“只有任务所有者或具有操作权限的用户才能执行任务。 ”
我现在的角色已经拥有整个账户的执行任务权限:
GRANT EXECUTE TASK ON ACCOUNT TO ROLE {myrole};
显然这还不够,所以我尝试了这个:
GRANT OPERATE ON TASK {my_task} TO ROLE {myrole};
这有效,但它不适用于所有任务/未来任务,如下所示:
GRANT OPERATE ON ALL TASKS TO ROLE {myrole}; -- Unsupported feature 'ALL'.
我有数百个任务。有没有办法为所有任务设置 OPERATE 权限(或更改所有权) - 并记住为所有未来任务设置该权限?
Snowflake 允许任务返回值,如此屏幕截图所示(来自文档):
我该如何设置这些返回值?
我曾尝试过这样的:
create or replace task BI_ELT.LOGS.TEST1_TSK
schedule='USING CRON 0 4 * * * Europe/Berlin'
as
BEGIN
SELECT 1;
RETURN 'One selected';
END;
但任务的“运行历史”仍然没有显示返回值。
然而,在“查询详情”中我可以看到结果:
如何在任务图表中获取返回值(如第一个屏幕截图所示)?
感谢所有提示!
我有这样结构的 json 数据,我想将其转换为数据框:
{
"data": {
"1": {
"Conversion": {
"id": "1",
"datetime": "2024-03-26 08:30:00"
}
},
"50": {
"Conversion": {
"id": "50",
"datetime": "2024-03-27 09:00:00"
}
}
}
}
我通常的方法是使用 json_normalize,如下所示:
df = pd.json_normalize(input['data'])
我的目标是拥有一个仅包含“id”和“datetime”列的表/数据框。
如何跳过数据下方的编号级别并直接进行转换?我会想象这样的事情(这显然不起作用):
df = pd.json_normalize(input['data'][*]['Conversion'])
实现这一目标的最佳方法是什么?任何提示都非常感谢!