1

カサンドラを使用して、カフカ経由で Meetup ストリーミング API に接続しようとしています。cqlengine以前は別のプロジェクトだったようで、私が使用している参照コードはその頃に作成されています。

だから以前は、 今はcqlengine.management持っていたcreate_keyspacecassandra.cqlengine.managementcreate_keyspace_simple

キースペースを作成しようとしています。

create_keyspace_simple('meetup', 'SimpleStrategy', 1)

しかし、その後、このエラーが発生しました。警告:

/Users/a/anaconda/lib/python2.7/site-packages/cassandra/cqlengine/management.py:419: UserWarning: CQLENG_ALLOW_SCHEMA_MANAGEMENT 環境変数が設定されていません。このパッケージの将来のバージョンでは、管理機能を有効にするためにこの変数が必要になります。
warnings.warn(メッセージ)

エラー:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-17-45553511338c> in <module>()
      1 # create keyspace
      2 # keyspace name, keyspace replication strategy, replication factor
----> 3 create_keyspace_simple('meetup', 'SimpleStrategy', 1)

/Users/a/anaconda/lib/python2.7/site-packages/cassandra/cqlengine/management.pyc in create_keyspace_simple(name, replication_factor, durable_writes)
     54     """
     55     _create_keyspace(name, durable_writes, 'SimpleStrategy',
---> 56                      {'replication_factor': replication_factor})
     57 
     58 

/Users/a/anaconda/lib/python2.7/site-packages/cassandra/cqlengine/management.pyc in _create_keyspace(name, durable_writes, strategy_class, strategy_options)
     84         log.info("Creating keyspace %s ", name)
     85         ks_meta = metadata.KeyspaceMetadata(name, durable_writes, strategy_class, strategy_options)
---> 86         execute(ks_meta.as_cql_query())
     87     else:
     88         log.info("Not creating keyspace %s because it already exists", name)

/Users/a/anaconda/lib/python2.7/site-packages/cassandra/metadata.so in cassandra.metadata.KeyspaceMetadata.as_cql_query (cassandra/metadata.c:17371)()

AttributeError: 'NoneType' object has no attribute 'export_for_schema'
4

1 に答える 1

0

ドキュメントを見るとcreate_keyspace_simple、次のパラメーター リストが受け入れられます。

create_keyspace_simple(name, replication_factor, durable_writes=True)
  • name (str) - 作成するキースペースの名前
  • replication_factor (int) - SimpleStrategy で使用されるキースペース複製係数
  • Durable_writes (bool) - False に設定すると、書き込みログがバイパスされます

これに基づいて、「SimpleStrategy」パラメーターを削除すると、ステートメントが機能すると思います。を使用しているcreate_keyspace_simpleため、SimpleStrategy が暗示されているため、指定する必要はありません。

create_keyspace_simple('meetup', 1)
于 2016-02-28T21:16:45.060 に答える