Невозможно просмотреть данные через сопоставление Hive с Cassandra

Невозможно просмотреть данные через сопоставление Hive с Cassandra

После загрузки данных из Oracle DB в Cassandra через Sqoop я смог просмотреть свои данные как через Cassandra, так и через Hive. Мне сказали, что при этом для каждого будет сгенерировано 2 файла, что создаст проблемы с пространством. Чтобы решить эту проблему, я удалил таблицу в Hive, создал внешнюю таблицу и сопоставил ее с моим семейством столбцов в Cassandra. Но я не могу просматривать данные в таблице Hive. Я использую Datastax Enterprise 3.0.1. Используя Sqoop, я перенес таблицу 'test' из Oracle DB в семейство столбцов Cassandra с тем же именем в пространстве ключей 'test_keyspace'. Я могу просматривать данные через cassandra-cli с помощью команды: list test;

Описание семейства столбцов в cqlsh дает мне следующий результат:

CREATE TABLE test (
rowkey text PRIMARY KEY,
bar text,
gump bigint,
home text,
note text,
pay text
) WITH
comment='' AND
comparator=text AND
read_repair_chance=0.100000 AND
gc_grace_seconds=864000 AND
default_validation=text AND
min_compaction_threshold=4 AND
max_compaction_threshold=32 AND
replication_on_write='true' AND
compaction_strategy_class='SizeTieredCompactionStrategy' AND compression_parameters:stable_compression='SnappyCompressor';

Команда, которую я использую для создания таблицы Hive, следующая:

CREATE external TABLE test (
rowkey string,
bar string,
gump string,
home string,
note string,
pay string
)
STORED BY 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'
TBLPROPERTIES ( "cassandra.ks.name" = "test_keyspace" );

Таблица отображается, когда я набираю «show tables» в Hive. Но «select * from test» показывает все значения в таблице как NULL, за исключением ключа строки.

Может кто-нибудь знает решение?

решение1

Попробуйте создать таблицу следующим образом:

CREATE external TABLE test (
    rowkey string,
    bar string,
    gump string,
    home string,
    note string,
    pay string
)
STORED BY 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'
WITH SERDEPROPERTIES("cql.primarykey"="rowkey"
TBLPROPERTIES ( "cassandra.ks.name" = "test_keyspace", "cassandra.cql.type"="text, text, text, text, text, text" );

Связанный контент