小编Kri*_*una的帖子

Snowflake.connector SQL 编译错误 pandas 数据帧中的标识符无效

我正在尝试将从 json 响应创建的 df 摄取到现有表中(该表当前为空,因为我似乎无法让它工作)

df 类似于下表:

指数 clicks_affiliate
0 3214
1 2221

但我看到以下错误:

Snowflake.connector.errors.ProgrammingError:000904(42000):SQL编译错误:位置94处的错误行1无效标识符“clicks_affiliated”

雪花中的列名称与我的数据框中的列匹配。

这是我的代码:

import pandas as pd
from snowflake.sqlalchemy import URL
from sqlalchemy import create_engine
import snowflake.connector
from snowflake.connector.pandas_tools import write_pandas, pd_writer
from pandas import json_normalize
import requests

  
df_norm = json_normalize(json_response, 'reports')

#I've tried also adding the below line (and removing it) but I see the same error
df = df_norm.reset_index(drop=True)

   
def create_db_engine(db_name, schema_name):
    engine = URL(
        account="ab12345.us-west-2",
        user="my_user",
        password="my_pw",
        database="DB",
        schema="PUBLIC",
        warehouse="WH1",
        role="DEV"
    )
    return …
Run Code Online (Sandbox Code Playgroud)

pandas snowflake-cloud-data-platform snowflake-connector

9
推荐指数
1
解决办法
1万
查看次数

函数 table_import_from_s3 的权限被拒绝

尝试从 s3 获取文件到 Postgres,我看到以下错误:

ERROR:  permission denied for function table_import_from_s3
Run Code Online (Sandbox Code Playgroud)

这就是我正在尝试的:

SELECT aws_s3.table_import_from_s3(
'btr.Ats_20210304',
'ID,NAME,WEBSITE,TYPE,CATEGORY,SUB_CATEGORY,PARENT_ACCOUNT,PARENT_ACCOUNT_ID,REGION,SEGMENT,HOLDING_COMPANY,CUSTOM_FIELDS,TEAM,EMAIL,STREET1,STREET2,CITY,STATE,ZIP,PHONE,COUNTRY,MOBILE,CREATED_BY,UPDATED_BY,UPDATE_AT',
'(FORMAT csv, HEADER true, DELIMITER ",")',
'vdw-dev',
'date/hourly/data_0_0_0.csv.gz',
'us-east-1');
Run Code Online (Sandbox Code Playgroud)

postgresql amazon-s3 amazon-web-services amazon-rds

7
推荐指数
2
解决办法
5686
查看次数

如果您不记得确切的时间/日期,请从 Snowflake 恢复已删除的记录

我正在尝试恢复一些记录,但我不记得它们被删除的确切时间或日期:

我记得这些被删除的记录在linkname列中都有“nan”值,并且asof_date值在七月和十月之间。

我相信它们已在 1 天前被删除,所以我尝试了此操作(从一天 1440 分钟开始),但没有填充任何内容:

select * from my_table at(offset => -60*1440) 
where link = 'nan'
and name = 'nan'
and to_date(asof_date) >= '2021-07-01'
and to_date(asof_date) <= '2021-10-13'
Run Code Online (Sandbox Code Playgroud)

snowflake-cloud-data-platform

7
推荐指数
1
解决办法
2425
查看次数

Airflow s3Hook - 使用 pandas read_csv 读取 s3 中的文件

我正在尝试使用 pandas 读取一些文件来s3Hook获取密钥。我能够获取密钥,但是我不确定如何让 pandas 找到文件,当我运行以下命令时,我得到:

没有这样的文件或目录:

这是我的代码:

def transform_pages(company, **context):
    ds = context.get("execution_date").strftime('%Y-%m-%d')

    s3 = S3Hook('aws_default')
    s3_conn = s3.get_conn()
    keys = s3.list_keys(bucket_name=Variable.get('s3_bucket'),
                        prefix=f'S/{company}/pages/date={ds}/',
                        delimiter="/")

    prefix = f'S/{company}/pages/date={ds}/'
    logging.info(f'keys from function: {keys}')

    """ transforming pages and loading data back to S3 """
    for file in keys:
        df = pd.read_csv(file, sep='\t', skiprows=1, header=None)
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 pandas airflow

5
推荐指数
1
解决办法
5493
查看次数

将包含数据库转储的转储文件导入到 dbeaver

我在这个db_2022.dump二进制文件中有一个数据库转储,我试图将其导入到 dbeaver,但我还没有找到导入数据库的方法,以便我可以看到它。

我在 dbeaver 论坛中找到了以下内容,但是当我尝试按照说明创建新连接时,我没有看到任何可以选择来打开此文档的选项。

https://dbeaver.io/forum/viewtopic.php?f=2&t=895

编辑:数据库和版本是 PostgreSQL 12 。我不想将其转储到现有数据库,而是想用此转储创建一个新数据库。转储命令如下所示:pg_dump -h blah.amazonaws.com -Fc -v --dbname="blah2" -f "/tmp/dump/20220203.dump"。它将是相同版本的 PostgreSQL 12

sql postgresql dbeaver

5
推荐指数
1
解决办法
3万
查看次数

Snowflake Account必须指定错误,但是指定了

我有以下代码,我有帐户、用户名、密码等,但我仍然看到以下错误:

raise error_class( sqlalchemy.exc.ProgrammingError: (snowflake.connector.errors.ProgrammingError) 251001: 必须指定帐户

我也尝试过更改函数engine中的变量,created_db_engine如下所示,但我看到了相同的错误:

engine = snowflake.connector.connect(
                user='USER',
                password='PASSWORD',
                account='ACCOUNT',
                warehouse='WAREHOUSE',
                database='DATABASE',
                schema='SCHEMA'
                )
Run Code Online (Sandbox Code Playgroud)

这是我的代码

import pandas as pd
from snowflake.sqlalchemy import URL
from sqlalchemy import create_engine
import snowflake.connector
from snowflake.connector.pandas_tools import write_pandas, pd_writer
from pandas import json_normalize
import requests

  
df = 'my_dataframe'

   
def create_db_engine(db_name, schema_name):
    engine = URL(
        account="ab12345.us-west-2.snowflakecomputing.com",
        user="my_user",
        password="my_pw",
        database="DB",
        schema="PUBLIC",
        warehouse="WH1",
        role="DEV"
    )
    return engine


def create_table(out_df, table_name, idx=False):
    url = create_db_engine(db_name="db", schema_name="skm")
    engine = create_engine(url)
    connection = …
Run Code Online (Sandbox Code Playgroud)

sqlalchemy snowflake-cloud-data-platform

3
推荐指数
1
解决办法
3342
查看次数