首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clickhouse + sqlalchemy:从结果中选择drops 2行

clickhouse + sqlalchemy:从结果中选择drops 2行
EN

Stack Overflow用户
提问于 2019-11-29 12:41:39
回答 1查看 2.9K关注 0票数 3

在clickhouse-client中执行SELECT * FROM test_table;时,我会得到N行,但在使用sqlalchemy的python代码执行engine.execute('SELECT * FROM test_table;')时,只有N-2行。

复制步骤:

  1. clickhouse-server正在本地主机上运行。
  2. 在clickhouse-client:

中执行以下命令

代码语言:javascript
复制
CREATE TABLE test_table (id INTEGER, created Date) ENGINE = MergeTree(created, (id), 8192);
INSERT INTO test_table (id, created) VALUES (1, 11345678);
INSERT INTO test_table (id, created) VALUES (2, 12345678);
INSERT INTO test_table (id, created) VALUES (3, 13345678);
INSERT INTO test_table (id, created) VALUES (4, 14345678);
SELECT * FROM test_table;

结果:

代码语言:javascript
复制
SELECT *
FROM test_table

┌─id─┬────created─┐
│  4 │ 2106-02-07 │
└────┴────────────┘
┌─id─┬────created─┐
│  3 │ 2084-08-20 │
└────┴────────────┘
┌─id─┬────created─┐
│  2 │ 2038-03-15 │
└────┴────────────┘
┌─id─┬────created─┐
│  1 │ 1991-10-08 │
└────┴────────────┘

4 rows in set. Elapsed: 0.004 sec. 

好的,4行和预期的一样。

  1. 执行以下python脚本:

代码语言:javascript
复制
from sqlalchemy import create_engine


connection_string = 'clickhouse://default:@localhost/default'
engine = create_engine(connection_string)
result = list(engine.execute('SELECT * FROM test_table;'))
print(len(result))
print(result)

结果:

代码语言:javascript
复制
2
[('4', '2106-02-07'), ('2', '2038-03-15')]

绝对不像预期的那样。这是怎么回事?

炼金术版本: 1.3.11

clickhouse版本(服务器和客户端):19.17.4.11

EN

回答 1

Stack Overflow用户

发布于 2021-03-04 07:45:21

修改connection_string = 'clickhouse+native://default:@localhost/default'

参见:https://github.com/xzkostyan/clickhouse-sqlalchemy/issues/10

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59105030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档