No se pueden ver datos a través del mapeo de Hive a Cassandra

No se pueden ver datos a través del mapeo de Hive a Cassandra

Después de cargar datos de Oracle DB a Cassandra a través de Sqoop, pude ver mis datos tanto a través de Cassandra como de Hive. Me dijeron que al hacerlo, se generarían 2 archivos para cada uno, lo que crearía problemas de espacio. Para resolver esto, dejé la tabla en Hive, creé una tabla externa y la asigné a mi familia de columnas en Cassandra. Pero no puedo ver ningún dato en la tabla de Hive. Estoy usando Datastax Enterprise 3.0.1. Usando Sqoop, migré la tabla 'prueba' de Oracle DB a una familia de columnas Cassandra del mismo nombre en el espacio de claves 'test_keyspace'. Puedo ver los datos a través de cassandra-cli usando el comando: list test;

Describir la familia de columnas en cqlsh me da el siguiente resultado:

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';

El comando que estoy usando para crear la tabla de Hive es:

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" );

La tabla aparece cuando escribo "mostrar tablas" en Hive. Pero 'seleccionar * de la prueba' muestra todos los valores de la tabla como NULL, excepto la clave de fila.

¿Alguien sabría una solución?

Respuesta1

Intente crear la tabla de esta manera:

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" );

información relacionada