- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的目标是能够使用 to_sql()
函数将 pandas 数据帧写入 Snowflake。我能够使用 read_sql()
从 Snowflake 成功查询,没有任何问题。似乎 to_sql() 需要一个我无法弄清楚的稍微不同的配置。我尝试了下面概述的两种不同方法。
我在猜测,但 key 对身份验证似乎是问题所在,这可能是错误的。当我在这两种方法中删除私钥参数时,我都会收到密码丢失的错误,而不是我收到的特别不清楚的错误。也许没有指定密码会使尝试短路,我真的遇到了另一个问题。
或者,如果有更好的方法将整个 pandas 数据框写入 Snowflake,我很乐意接受其他选择。
编辑:如果连接不是 SQLAlchemy 连接,那么 sqllite 似乎是唯一受支持的数据库。
此方法因 DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': not all arguments converted during string formatting 而失败
import snowflake
conn = snowflake.connector.connect(
account=acct,
warehouse=wh,
database=db,
schema=sc,
user=usr,
private_key=pkb,
)
df.to_sql('TABLENAME', con=conn, if_exists='replace', index=False)
我找到了有关如何将私钥用于 SQLAlchemy 的文档。但是,它在调用 engine.connect()
时失败并显示 ValueError: Invalid IPv6 URL
...
from snowflake.sqlalchemy import URL
from sqlalchemy import create_engine
engine = create_engine(URL(
account=acct,
warehouse=wh,
database=db,
schema=sc,
user=usr,
connect_args={
'private_key': pkb,
}
))
with engine.connect() as conn:
df.to_sql('TABLENAME', con=conn, if_exists='replace', index=False)
这两个错误的回溯都很长,但如果有助于解决问题,我很乐意发布它们。
最佳答案
我不知道 #2 有什么问题,但我发现结合 #1 和 #2 会起作用...
import snowflake.connector
from sqlalchemy import create_engine
conn = snowflake.connector.connect(
account=acct,
warehouse=wh,
database=db,
schema=sc,
user=usr,
private_key=pkb,
)
engine = create_engine(f"snowflake://{acct}.snowflakecomputing.com", creator=lambda: conn)
try:
with engine.connect() as c:
# Note: the table name MUST be all lowercase for some reason, even though Snowflake uses all caps
df.to_sql('TABLENAME'.lower(), con=c, if_exists='replace', index=False)
finally:
engine.dispose()
conn.close()
关于python - 使用 key 对身份验证的 Snowflake 的 SQLAlchemy engine.connect() 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60870620/
像 MySQL 和 SQL Server 一样使用 Snowflake 创建参数化。需要从 .NET Snowflake .NET Connector 传递值。 https://www.mssqlti
在 snowflake/sql 查询中是否有任何方法可以查看哪些表被查询最多以及哪些列?我想知道哪些数据对我的用户最有值(value),但不确定如何以编程方式执行此操作。任何想法表示赞赏 - 谢谢!
目前我们的项目正在使用 Snowflake DWH。表中定义的列没有任何大小规范。不知道为什么这样做,因为很久以前就这样做了。如果未指定大小时,Snowflake DWH 是否会影响性能。例如,默认情
我在 SAP HANA 中为四分之一函数编写了“选择”查询。 select QUARTER (CURRENT_DATE, 8) FROM DUMMY; output: 2021-Q3 有人可以帮我解决
当我们创建数据库时会创建一个公共(public)模式,如果我们不指定任何模式,则会在公共(public)模式下创建表。如果您在从数据库中删除公共(public)模式时看到或遇到任何问题,能否告诉我,因
我有大约 2.2 GB 数据的大表。当我使用 SELECT * 选择表中的一行时,运行大约需要 14 分钟。有没有办法加快这个查询? 以下是一些可能有用的其他信息: ~ 200 万行 ~ 25k 列
我需要将表恢复到运行 CREATE OR REPLACE 语句之前的状态(即表仍然填充)。 我可以在历史记录中看到 QueryID,但我终生不记得我是如何还原更改的 最佳答案 解决方案已由 Franc
我正在寻找有关如何从现有表生成汇总表或 View 的一些 Snowflake 语法帮助。我的汇总表应该有来自现有表的每个唯一 ID 的 1 行以及指示是否已达到各种里程碑(根据汇总列名称)的 bool
我正在查看 WAREHOUSE_EVENTS_HISTORY,但找不到跟踪仓库大小调整值的方法。 如何从 Snowflake 中获取这些数据? (基于客户问题) 最佳答案 要跟踪调整大小的值,您可以在
我已经创建了单独的过程,当手动运行时使用 2 个日期参数运行。但是我正在尝试编写一个包装程序来顺序调用这些过程。到目前为止我所做的示例代码如下。 CREATE OR REPLACE PROCEDURE
在雪花文档中,我找不到使用索引的引用。 Snowflake 是否支持索引,如果不支持,使用 Snowflake 时性能调优的替代方法是什么? 最佳答案 Snowflake 不支持索引,但它支持“集群”
我们正在考虑将我们的 ODS 从 S3 转移到 Snowflake,但对性能有一些担忧。从 15 亿(这将在较小的一侧)行表中删除 3900 万行在超小型仓库上需要 15 分钟,小型仓库需要 8 分钟
(代表 Snowflake 用户提交) 在 Snowflake 上执行查询时,我需要它的查询 ID。所以我使用以下代码片段: cursor.execute(query, _no_results=Tru
当谈到集群大小时,文档指出,例如一个 XS 集群包含在 1 个服务器上。但是我一直在寻找服务器规范,但似乎找不到有关此主题的任何文档。 最佳答案 对于 AWS 雪花,如果您在 Chrome (F12)
我了解启用集群后,Snowflake 将运行后台任务来自动对您的记录进行集群。在某些情况下,我想重建整个表或使用 insert into select 语句填充新表。当我这样做时,我发现即使我预定义了
我是 SnowFlake 的新手。我在 Snowflake 中创建了一个表。以下是详细信息。 # Created @ 2020-01-07 21:11:20.810 -0800 CREATE TABL
我正在使用 Snowflake,我很惊讶它能够即时调整大小。这是一个非常10s video它如何立即调整大小,并且查询在下次运行时仍然是“热”的(注意我在查询中有一个CURRENT_TIMESTAMP
我需要一些关于雪花存储过程与用户定义函数的最佳用例的指导。请问是否有关于其中一个比另一个更合适的场景的指南?我正在努力为我的项目做出正确的选择。谢谢。 最佳答案 Snowflake 存储过程是用 Ja
我是 SnowFlake 的新手。我在 Snowflake 中创建了一个表。以下是详细信息。 # Created @ 2020-01-07 21:11:20.810 -0800 CREATE TABL
我正在使用 Snowflake,我很惊讶它能够即时调整大小。这是一个非常10s video它如何立即调整大小,并且查询在下次运行时仍然是“热”的(注意我在查询中有一个CURRENT_TIMESTAMP
我是一名优秀的程序员,十分优秀!