说明Hive表中列名不可读。
我用的是brisk。cassandra列族自动映射到Hive表。
但是,如果数据类型是列族timeuuid,在Hive表中是不可读的。
例如,我使用以下命令在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。
在hive表中,它看起来像下面的行:
2d36a254bb04272b120aaf79d70a3578 t��ߒ4��!�� {"event_id":101}
这是自动表映射的一个已知问题。为获得timeUUIDType的最佳效果,请关闭$brisk_home/resources/hive/hive-site.xml中的自动映射功能:"cassandra.autoCreateHiveSchema"