python - CQLSH复制错误类型错误: 'int' object is not iterable

标签 python cassandra datastax cqlsh

我有下面的代码尝试转储表数据,但出现错误 TypeError: 'int' object is not iterable。

import argparse
    import sys
    import itertools
    import codecs
    import uuid
    import os

    try:
        import cassandra
        import cassandra.concurrent
    except ImportError:
        sys.exit('Python Cassandra driver not installed. You might try \"pip install cassandra-driver\".')
    from cassandra.cluster import Cluster, ResultSet
    from cassandra.policies import DCAwareRoundRobinPolicy
    from cassandra.auth import PlainTextAuthProvider
    from cassandra.cluster import ConsistencyLevel

    datafile = "/Users/username/adf.csv"

    if os.path.exists(datafile):
        os.remove(datafile)
    def dumptableascsv():
        auth_provider = PlainTextAuthProvider(username='cassandra', password='cassandra')
        cluster = Cluster(['127.0.0.1'],
                          load_balancing_policy=DCAwareRoundRobinPolicy(local_dc='Cassandra'),
                          port=9042, auth_provider=auth_provider)
        session = cluster.connect('qualys_ioc')
        session.execute("COPY qualys_ioc.agent_delta_fragment(agent_id , delta_id , fragment_id, boolean ,created_on)  TO "
                        "'/Users/username/adf.csv' WITH HEADER = true ;", ConsistencyLevel.QUORUM)
    dumptableascsv()

最佳答案

COPY 是一个 cqlsh 命令 - 它不是 CQL 的一部分,并且不能通过 native 协议(protocol)客户端执行。您收到此特定错误而不是服务器请求错误,因为您在 Session.executeparameters 位置传递了一致性级别。

您可以使用 cqlsh 从脚本中执行此操作,或者查看 DS Bulk tool用于高性能装载和卸载。

关于python - CQLSH复制错误类型错误: 'int' object is not iterable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53218226/

相关文章:

python - Serverless Offline : Error while running handler, 找不到模块

java - Datastax cassandra 驱动程序提供有关主机状态的错误元数据信息

java - Cassandra UDT 嵌套集 InvalidTypeExeception

cassandra - cassandra 升级是否需要运行 nodetool upgradesstables 用于集群保存 TTLed 数据

Python - CSV 文件,确保答案与询问的内容在同一行

python - 单次迭代中的最小值、最大值和平均值

java - 获取 Cassandra 连接错误

java - cassandra 中的全表扫描问题

c# - 使用 DataStax c# 驱动程序的 Cassandra 批量插入

python - 如何强制子类使用 __init_subclass__ 而不是 ABCMeta 来实现父类的抽象方法?