Pandas 雪花熊猫连接器杀死内核

Pandas 雪花熊猫连接器杀死内核,pandas,jupyter,snowflake-cloud-data-platform,Pandas,Jupyter,Snowflake Cloud Data Platform,我在雪花的熊猫接头上遇到了麻烦 这段代码的最后一行导致python内核立即死亡。对如何诊断这种情况有什么建议吗 import pyarrow import snowflake.connector import pandas as pd ctx = snowflake.connector.connect( user=********, password=********, account=********, warehouse='compute_wh',

我在雪花的熊猫接头上遇到了麻烦

这段代码的最后一行导致python内核立即死亡。对如何诊断这种情况有什么建议吗

import pyarrow
import snowflake.connector
import pandas as pd

ctx = snowflake.connector.connect(
    user=********,
    password=********,
    account=********,
    warehouse='compute_wh',
    database='SNOWFLAKE_SAMPLE_DATA',
    schema='WEATHER'
)
cs = ctx.cursor()
cs.execute('select * from weather_14_total limit 10')
cs.fetch_pandas_all()
请注意,如果将
fetch\u pandas\u all()
替换为
fetchone()
一切正常

提前谢谢

  • 基思

    • 我们的团队上周也遇到了同样的问题。我们的解决方法最终是使用read_sql命令。

      我们的团队上周也遇到了同样的问题。我们的解决办法是改用read_sql命令。

      这对我很有效:

      import pandas as pd 
      from snowflake.connector import connect 
      
      qry = "SELECT * FROM TABLE LIMIT 5"
      
      con = connect(
        account = 'ACCOUNT',
        user = 'USER',
        password = 'PASSWORD',
        role= 'ROLE',
        warehouse = 'WAREHOUSE',
        database = 'DATABASE',
        schema = 'SCHEMA'
      )
      
      df = pd.read_sql(qry, con)
      
      然而,对于一个类似的问题,这是投票最多的答案:

      import pandas as pd
      
      from sqlalchemy import create_engine
      from snowflake.sqlalchemy import URL
      
      url = URL(
        account = 'xxxx',
        user = 'xxxx',
        password = 'xxxx',
        database = 'xxx',
        schema = 'xxxx',
        warehouse = 'xxx',
        role='xxxxx',
        authenticator='https://xxxxx.okta.com',
      )
      engine = create_engine(URL)
      connection = engine.connect()
      
      query = '''
        select * from MYDB.MYSCHEMA.MYTABLE
        LIMIT 10;
      '''
      
      df = pd.read_sql(query, connection)
      
      这对我很有用:

      import pandas as pd 
      from snowflake.connector import connect 
      
      qry = "SELECT * FROM TABLE LIMIT 5"
      
      con = connect(
        account = 'ACCOUNT',
        user = 'USER',
        password = 'PASSWORD',
        role= 'ROLE',
        warehouse = 'WAREHOUSE',
        database = 'DATABASE',
        schema = 'SCHEMA'
      )
      
      df = pd.read_sql(qry, con)
      
      然而,对于一个类似的问题,这是投票最多的答案:

      import pandas as pd
      
      from sqlalchemy import create_engine
      from snowflake.sqlalchemy import URL
      
      url = URL(
        account = 'xxxx',
        user = 'xxxx',
        password = 'xxxx',
        database = 'xxx',
        schema = 'xxxx',
        warehouse = 'xxx',
        role='xxxxx',
        authenticator='https://xxxxx.okta.com',
      )
      engine = create_engine(URL)
      connection = engine.connect()
      
      query = '''
        select * from MYDB.MYSCHEMA.MYTABLE
        LIMIT 10;
      '''
      
      df = pd.read_sql(query, connection)
      

      您可以共享任何错误吗?我得到的只是一个对话框面板,打开时显示“内核重新启动。内核似乎已死亡。它将自动重新启动”。这可能是因为您没有使用该语句实际创建数据帧吗?最后一行应该是:
      df=cs.fetch\u pandals\u all()
      ,其中df成为数据帧的名称。我不认为这会杀死一个内核,但值得一试,对吗?不幸的是,它仍然会杀死内核。你应该向Snowflake支持部门报告这个问题。我相信这对于雪花连接器来说是一个全新的功能,所以他们可能会想看一看。您可以分享任何错误吗?我得到的只是一个对话框面板,上面显示“内核重新启动。内核似乎已死亡。它将自动重新启动。”这可能是因为您没有使用该语句实际创建数据帧吗?最后一行应该是:
      df=cs.fetch\u pandals\u all()
      ,其中df成为数据帧的名称。我不认为这会杀死一个内核,但值得一试,对吗?不幸的是,它仍然会杀死内核。你应该向Snowflake支持部门报告这个问题。我相信这对于雪花连接器来说是一个相当新的功能,所以他们可能会想看看它。