Snowflake Python Pandas 连接器 - 使用 fetch_pandas_all 时出现未知错误

2024-01-23

我正在尝试使用 python pandas 连接器连接到雪花。

我在 Windows 上使用 anaconda 发行版,但卸载了现有的连接器和 pyarrow 并使用此页面上的说明重新安装:https://docs.snowflake.com/en/user-guide/python-connector-pandas.html https://docs.snowflake.com/en/user-guide/python-connector-pandas.html

我有以下版本

熊猫 1.0.4 py37h47e9c7a_0

点 20.1.1 py37_1

pyarrow 0.17.1 pypi_0 pypi

蟒蛇 3.7.7 h81c818b_4

雪花连接器-python 2.2.7 pypi_0 pypi

运行本文档的步骤 2 时:https://docs.snowflake.com/en/user-guide/python-connector-install.html https://docs.snowflake.com/en/user-guide/python-connector-install.html,我得到:4.21.2

在尝试使用时fetch_pandas_all()我收到错误:NotSupportedError:未知错误

我使用的代码如下:

import snowflake.connector
import pandas as pd

SNOWFLAKE_DATA_SOURCE = '<DB>.<Schema>.<VIEW>'

query = '''
select * 
from table(%s)
LIMIT 10;
'''
def create_snowflake_connection():
    conn = snowflake.connector.connect(
            user='MYUSERNAME',
            account='MYACCOUNT',
            authenticator = 'externalbrowser',
            warehouse='<WH>',
            database='<DB>',
            role='<ROLE>',
            schema='<SCHEMA>'
    )
    
    return conn

con = create_snowflake_connection()

cur = con.cursor()
temp = cur.execute(query, (SNOWFLAKE_DATA_SOURCE)).fetch_pandas_all()
cur.close()

我想知道我还需要安装/升级/检查什么才能获得fetch_pandas_all()上班?

Edit: 在下面发布答案后,我意识到问题出在 SSO(单点登录)上与authenticator='externalbrowser'。当使用独立帐户时,我可以获取。


我找到了一种解决方法,可以通过依赖 fetchall() 而不是 fetch_all_pandas() 来避免 SSO 错误:

try: 
    cur.execute(sql)
    all_rows = cur.fetchall()
    num_fields = len(cur.description)
    field_names = [i[0] for i in cur.description]
finally:
    cur.close()

con.close()

df = pd.DataFrame(all_rows)
df.columns = field_names
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Snowflake Python Pandas 连接器 - 使用 fetch_pandas_all 时出现未知错误 的相关文章

随机推荐

  • 使用 Swift 3 和 Alamofire 4 获取客户端证书以进行相互身份验证

    我试图弄清楚如何使用 Alamofire 4 0 和 Swift 3 0 将 p12 如果需要 我也有 PEM 证书和密钥 发送到网站进行身份验证 我看到的所有示例都是针对 Swift 2 0 的 并不完全是我想要的 在我的 mac 上的
  • 录制 mp3 而不是 caf 文件

    我正在看这个例子 https developer apple com library ios samplecode SpeakHere Introduction Intro html https developer apple com li
  • 如何尽可能干净地使用 VS C++ GetEnvironmentVariable?

    这与其说是一个问题 不如说是一种迂腐的做法 所以就这样吧 我已经制作了一个很好的小程序 它是我的 Linux 操作系统本机的 但我认为它也足够有用 可以存在于我的 Windows 机器上 因此 我想访问Windows的环境变量 MSDN引用
  • 如何在 R 中按行名合并 2 个以上的数据帧?

    我从 4 个 df 收集数据 并希望按行名合并它们 我正在寻找一种有效的方法来做到这一点 这是我所拥有的数据的简化版本 df1 lt data frame N sample seq 9 27 0 5 40 replace T P sampl
  • 具有 sf 的行之间的点距离

    我在简单功能中保存了多个轨迹 sf 的类型POINT 我想计算后续位置 即行 之间的欧几里德距离 到目前为止 我已经使用 手动 计算距离用于计算 2D 空间中欧几里得距离的毕达哥拉斯公式 https en wikipedia org wik
  • ASP.NET 如何将容器值作为 javascript 参数传递

    我正在使用一个o关于网格控制 http www obout com grid 与文本框上的模板 我想将一个参数传递给 JavaScript 即用户单击网格时网格的当前行索引 但结果是 onClick setGridInEditMode gt
  • 类型对象不是可迭代的 Django

    我正在使用 Django 创建个人作品集网站 我正在制作一个名为 技能 的新模型 我想要为我拥有的每项技能提供一个不同的模型实例 我以前有使用 Django 的经验 所以我只是像往常一样执行相同的过程 然而 由于某种原因 这次我在注册模型时
  • 错误:清单合并失败:uses-sdk:minSdkVersion 1 不能小于库 [__tested_artifact__::CordovaLib] 中声明的版本 19

    我第一次创建一个 cordova android 项目 构建项目一切顺利 构建项目后 当我尝试在 Android IDE Android Studio 中打开时 我收到这个错误 错误 清单合并失败 uses sdk minSdkVersio
  • htaccess 文件拒绝所有,重定向到 404 在 403.shtml 上找不到,但未定义自定义错误页面

    我正在 cPanel 中的新插件域中设置一个快速内部项目 这个特定的安装了 SSL 证书 我正在构建我的 htaccess 并添加了一个
  • bash - Shell 脚本打开多个终端并执行不同的命令[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我尝试编写自己的 shell 脚本 到目前为止 我已经成功打开了 4 个 xterminal 由于 hold 选项 它们只能执行一个命令 如
  • .NET Core 中的一对多关系数据播种

    我在将数据播种到我的数据库时遇到问题OnModelCreating method 我想为我的数据库添加种子国家 States and Cities但我不知道当他们有的时候该怎么做一对多关系 Models public class City
  • rsync 排除目录但包含子目录

    我正在尝试使用 rsync 将项目复制到我的服务器 我的子目录中有项目特定的安装脚本 项目 规格 安装 project1 我想做的就是排除其中的所有内容项目 规格目录 但项目特定的安装目录 项目 规格 安装 project1 rsync a
  • 我需要在 javafx 中创建后退按钮功能?

    我目前正在使用类似的东西将此代码绑定到 fxml javafx 按钮 Parent parent FXMLLoader load getClass getResource AolRun fxml Stage stage new Stage
  • ALV 报告填补了文档之间的空白

    我试图挑战自己制作一份按公司代码显示所有数据的 ALV 报告 但有些文件编号有差距 我想填补缺失号码之间的空白 例如 最后索引值 20012 那么下一个值是 20014 如果报表使用内表中存在的所有数据 如何在网格中插入 20013 Tha
  • 选择并 ForEach 列表 <> [重复]

    这个问题在这里已经有答案了 我对 C 很陌生 并尝试使用 lambda 表达式 我有一个对象列表 我想从列表中选择项目并对所选项目执行 foreach 操作 我知道我可以在不使用 lambda 表达式的情况下做到这一点 但想知道是否可以使用
  • 将无序列表的元组转换为 pandas DataFrame

    我正在使用图书馆usaddress从我拥有的一组文件中解析地址 我希望我的最终输出是一个数据框 其中列名称代表地址的一部分 例如街道 城市 州 行代表我提取的每个单独地址 例如 假设我有一个地址列表 addr 123 Pennsylvani
  • 如何修剪字符之间的空白

    如何删除C 中字符之间的空格 Trim 可用于删除字符串开头和结尾的空格 例如 C Sharp Trim 结果 C Sharp 但如何将字符串变成CSharp 我们可以使用删除空格for or a for each与临时变量一起循环 但是有
  • 页面加载后 Javascript 运行函数

    我正在尝试用 Javascript 创建一个小型自动化脚本 我想使用 Opera 的用户脚本功能来定义要运行的外部脚本 并在网站上运行该脚本 我之前曾使用此功能来运行我用外部站点编写的脚本 效果很好 我需要等到页面加载才能运行脚本 但我似乎
  • python csv问题[重复]

    这个问题在这里已经有答案了 我只是在 python 中测试 csv 组件 但遇到了一些问题 我有一个相当标准的 csv 字符串 默认选项似乎都适合我的测试 但结果不应该将 1 2 3 4 连续分组 将 5 6 7 8 连续分组 非常感谢您提
  • Snowflake Python Pandas 连接器 - 使用 fetch_pandas_all 时出现未知错误

    我正在尝试使用 python pandas 连接器连接到雪花 我在 Windows 上使用 anaconda 发行版 但卸载了现有的连接器和 pyarrow 并使用此页面上的说明重新安装 https docs snowflake com e