执行时如何设置会话属性pd.to\ U sql?{错误:“必填字段'numDVs'未设置!}

2024-10-03 15:21:18 发布

您现在位置:Python中文网/ 问答频道 /正文

向presto db插入dataframe数据时出现问题。你知道吗

错误消息为

{'message': "Required field 'numDVs' is unset! Struct:LongColumnStatsData(lowValue:0, highValue:2, numNulls:0, numDVs:0),
'errorCode': 16777216, 
'errorName': 'HIVE_METASTORE_ERROR', 
'errorType': 'EXTERNAL' ..."

我想

SET SESSION COLLECT_COLUMN_STATISTICS_ON_WRITE = FALSE

应在插入数据之前执行。 但我找不到办法。 在执行之前,有没有办法设置会话属性pd.to\ U sql?你知道吗

from pyhive import presto
result.to_sql(table_name, engine, if_exists='append', index=False)

表格格式

CREATE TABLE tablename (
similarity DOUBLE,
cluster INTEGER,
member_cnt INTEGER,
member_list VARCHAR,
mean_similarity DOUBLE,
ym VARCHAR(6)
)
WITH (format = 'ORC', PARTITIONED_BY = ARRAY['ym'])

Tags: to数据dataframedbsql错误integermember
1条回答
网友
1楼 · 发布于 2024-10-03 15:21:18

我们可以通过session_props设置会话属性,如下所示。你知道吗

from pyhive import presto
cursor = presto.connect('localhost', session_props={'hive.collect_column_statistics_on_write': 'false'}).cursor()

相关问题 更多 >