问题标签 [snowflake-cloud-data-platform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - django 到雪花连接和运行 ORM 查询
我希望从 Postgres 转移到 SnowFlake,因为我的一些功能需要运行时分析,这在 Snowflake 中更快。
我只能获得适用于 Snowflake 的 Python 连接器 API,这需要我创建原始查询而不是 Djago ORM 查询。
无论如何,我们可以使用 Django 连接到 Snowflake 并在 Snowflake 上执行相同的 Django ORM 查询。
我看到了这篇旧帖子 How to query this (snow flake) data schema in django
但是找不到如何与 Snowflake 建立 django 连接。
sql - 子查询中的多个选择
我有多个查询,如下所示:
唯一的区别是t1.SOURCE_ID = (some other number)
. 我想将这些转换为一个查询,该查询仅从子查询中选择,SOURCE_ID
对结果中的每一列使用不同的列,如下所示:
我试图避免使用多个查询,因为连接在一个非常大的表上并且需要一些时间,所以我宁愿做一次并多次查询结果。
这是在一个雪花数据仓库上,我认为它使用类似于 PostgreSQL 的东西(我对 SQL 也很陌生,所以也可以随意提出一个完全不同的解决方案)。
airflow - 气流插件未正确拾取
我们使用的是 Apache 1.9.0。我写了一个雪花钩子插件。我已将钩子放在 $AIRFLOW_HOME/plugins 目录中。
雪花钩子2.py
因此,我继续在 Airflows plugin_manager 中添加了一些打印语句,以尝试更好地处理正在发生的事情。重新启动网络服务器并运行气流 list_dags 后,这些行显示“新模块名称”(并且没有错误
由于这与文档所说的一致,我应该可以在我的 DAG 中使用它:
但是网络抛出了这个错误
所以问题是,我做错了什么?还是我发现了一个错误?
sql - 在 Snowflake SQL 中向表中添加行 ID
我需要将具有唯一整数/哈希的列添加到表中以用作行 ID。
我用这个查询创建了一个表 DUPLICATES:
现在我需要为每一行添加一个包含唯一 ID 的列。我试过ALTER TABLE DUPLICATES ADD 'id' int identity(1,1)
了,但是这会返回:SQL 编译错误:无法将具有非常量默认值的列 'id' 添加到非空表 'DUPLICATES'。
我现在有点缺乏想法,因为关于 Snowflake SQL 的讨论还没有普及,而且 Snowflake 的帮助页面也没有帮助我。
snowflake-cloud-data-platform - Snowsql 两位数世纪开始日期转换问题
我想要2000-02-05
在 snowsql 中使用以下查询的结果。
但我越来越0001-02-05
。我正在使用现有脚本在适用于 oracle 的雪花中加载日期。我知道我可以使用 to_date 函数获得预期的结果,但我不想这样做。如果必须的话,我会在脚本中更改很多地方,这很忙。
我想要使用强制转换功能的解决方案。有谁知道这里发生了什么?
snowflake-cloud-data-platform - 雪花中的 JavaScript UDF
我正在尝试在 Snowflake 中使用date.js函数。
我已经在 Snowflake 中将其配置为作为 UDF 工作,但是,当我在从超过 1 行的表中进行选择时使用该函数时出现递归错误。
JavaScript 执行错误:未捕获的 RangeError:DATEJS 在“Date.prototype._toString=Date.prototype.toString;Date.prototype.toString=function(format){”位置 82 stackstrace:DATEJS.Date.toString 行中超出了最大调用堆栈大小:199 DATEJS.Date.toString 行:228 DATEJS.Date.toString 行:228...[snip]
这是代码:
如果我只是运行:
或者:
然后我没有错误并且该功能有效。如果我从表中进行选择:
然后发生错误。为什么我可以在查询中合并多行,但我不能从表中选择多行并期望函数工作?
pytest - 嘲笑雪花连接
我在 python 中有一个 SnowflakeApi 类,它只是作为 SnowflakeConnection 类之上的包装器。我的 SnowflakeApi 是
SnowflakeApi 的命名空间是 connection.snowflake_connection.SnowflakeApi(即我在名为 connections 的文件夹中有 snowflake_connection.py)
我想使用 pytest 和 unittest.mock 为这个类编写单元测试。问题是我想模拟“连接”,以便返回一个 MagicMock 对象并且不进行数据库调用。到目前为止,我已经尝试过:
- monkeypatch.setattr(connections.snowflake_connection,"connect",return_value = "")
- 将我原来的课程改为只导入雪花。然后我创建了一个模拟对象并使用了 monkeypatch.setattr(snowflake_connection,"snowflake",my_mock_snowflake)。那也没用
简而言之,我尝试了其他一些方法,但没有任何效果。我想做的只是模拟雪花连接,因此不会进行实际的数据库调用。
pyspark - 使用 spark df 将数据写入雪花的性能问题
我正在尝试从 AWS RDS 系统读取数据并使用 SPARK 写入 Snowflake。我的 SPARK 作业与 RDS 建立 JDBC 连接,并将数据拉入数据帧,另一方面,我使用雪花连接器写入雪花的同一数据帧。
问题陈述:当我尝试写入数据时,即使是 30 GB 的数据也需要很长时间才能写入。
我试过的解决方案:
1)在写入之前重新分区数据帧。
2)缓存数据帧。
3)在写入之前计算 df 以减少写入时的扫描时间。
apache-spark - 从 Spark 到雪花的连接
我写这篇文章不是为了问问题,而是为了分享知识。我正在使用 Spark 连接到雪花。但我无法访问雪花。databricks 中的内部 JDBC 驱动程序似乎有问题。
这是我得到的错误。
我尝试了许多版本的雪花 jdbc 驱动程序和雪花驱动程序。似乎我可以匹配正确的那个。
sql - SQL 将行分组为对
我正在尝试将某种唯一标识符 (uid) 添加到由成对行组成的分区中,即为大小 = 2 行的窗口分区中的 (identifier1,identifier2) 的每两行生成一些 uid/tag。
因此,例如,ID X 的前 2 行将获得 uid A,相同 ID 的接下来两行将获得 uid B,如果在 ID X 的分区中只剩下一行,它将获得 id C。
这是我想要完成的,图片说明了表的结构,我手动添加了 expectedIdentifier 来说明目标:
这是我当前的 SQL,ntile 没有解决它,因为分区大小不同:
已经尝试过 ntile( (count(*) over partition...) / 2),但这不起作用。
可以使用 md5() 或类似方法生成 UID,但我无法如上所示标记行(因此我可以 md5 生成的标记/uid)