1

CassandraクラスターのEVENT_KSキースペースには、bookTicket1(ストリーム)があり、payload_provider、payload_totalNoTickets列があります。以下のように新しいAnalyticsスクリプトを試したところ、

CREATE EXTERNAL TABLE IF NOT EXISTS BusTicketTable 
(provider STRING, totalNoTickets STRING,  version STRING) 
STORED BY 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'
WITH SERDEPROPERTIES ( 
"cassandra.host" = "127.0.0.1" , 
"cassandra.port" = "9160" , 
"cassandra.ks.name" = "EVENT_KS" , 
"cassandra.ks.username" = "admin" , 
"cassandra.ks.password" = "admin" , 
"cassandra.cf.name" = "bookTicket1" , 
"cassandra.columns.mapping" = ":payload_provider,payload_totalNoTickets, Version" );   

エラーを返します:

エラー:Hiveスクリプトの実行中にエラーが発生しました。クエリがゼロ以外のコードを返しました:9、原因:失敗:実行エラー、org.apache.hadoop.hive.ql.exec.DDLTaskからコード1を返します "

4

1 に答える 1

1

この行を考えてみましょう。

"cassandra.columns.mapping" = ":payload_provider,payload_totalNoTickets, Version"

Cassandraにはキーが設定されていません。よくわかりませんが、Cassandra 列ファミリーには行キーが必須であるため、キーも設定する必要があると思います。

例: "cassandra.columns.mapping" = ":key, payload_provider,payload_totalNoTickets, Version"

一意のフィールドをキーとして設定する必要がある場合があります。

于 2013-01-30T06:28:37.240 に答える