【问题标题】:Pandas reading data from clickhouse returning error 'Unsupported object'熊猫从 clickhouse 读取数据返回错误“不支持的对象”
【发布时间】:2021-09-19 11:19:25
【问题描述】:

当我使用 pandas 从 clickhouse 读取数据时,它返回错误:

raise Exception("Unsupported object {}".format(item))
Exception: Unsupported object [1,2,3,4]

代码类似这样:

userID = [1,2,3,4]
df = pd.read_sql_query(
"select id, amount, ds from t_order where id in %(userID)s", ck_engine, params={'userID':userID})

它在 MySQL 中运行良好。不确定clickhouse中发生了什么。 有人可以帮助我吗?谢了。

【问题讨论】:

  • 您能否提供表 t_order 的架构?
  • -- 自动生成的定义创建表fact_paid_order ( order_id Int64, order_no String, one_id Int64, order_amount Nullable(Int64), act_amount Nullable(Int64), pay_time Nullable(String), ds S​​tring, ts String ) engine = MergeTree PARTITION BY ds PRIMARY KEY order_id ORDER BY (order_id, ds) SETTINGS index_granularity = 8192;谢谢

标签: python pandas sqlalchemy clickhouse


【解决方案1】:

您使用 sqlalchemy-clickhouse 包的问题的原因 - 它是旧的且不受支持的包。此包不支持将 list 传递给查询(请参阅escape_item-method)。

修复它:

requirements.txt

sqlalchemy
clickhouse-sqlalchemy
pandas

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多