Бойкая Кассандра TimeUUIDType

Я использовал бойкий. Семейство столбцов кассандры автоматически отображается на таблицы 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.

Например, строка в семействе столбцов кассандры выглядит так:

RowKey: 2d36a254bb04272b120aaf79d70a3578  
        => (column=29139210-b6dc-11df-8c64-f315e3a329d6, value={"event_id":101},timestamp=1283464254261)

Где имя столбца TimeUUIDType.

В таблице кустов это выглядит следующим образом:

 2d36a254bb04272b120aaf79d70a3578    t��ߒ4��!��   {"event_id":101}

Таким образом, имя столбца не читается в таблице Hive.

1 ответ

Решение

Это известная проблема с автоматическим сопоставлением таблиц. Для достижения наилучших результатов с помощью timeUUIDType отключите функцию автоматического сопоставления в файле $brisk_home/resources/hive/hive-site.xml: "cassandra.autoCreateHiveSchema"

и создайте таблицу в улье вручную.

Другие вопросы по тегам