サクサク使いました。cassandra 列ファミリーは、Hive テーブルに自動的にマップされます。
ただし、列ファミリーのデータ型が timeuuid の場合、Hive テーブルでは読み取ることができません。
たとえば、次のコマンドを使用してハイブに外部テーブルを作成し、列ファミリーをマップしました。
Hive > create external table A (rowkey string, column_name string, value string)
> STORED BY 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'
> WITH SERDEPROPERTIES (
> "cassandra.columns.mapping" = ":key,:column,:value");
cassandra でカラム名が TimeUUIDType の場合、Hive テーブルで読み取り不能になります。
たとえば、cassandra 列ファミリーの行は次のようになります。
RowKey: 2d36a254bb04272b120aaf79d70a3578
=> (column=29139210-b6dc-11df-8c64-f315e3a329d6, value={"event_id":101},timestamp=1283464254261)
列名は TimeUUIDType です。
ハイブ テーブルでは、次の行のようになります。
2d36a254bb04272b120aaf79d70a3578 t��ߒ4��!�� {"event_id":101}
そのため、Hive テーブルでは列名を読み取ることができません。