Eu tenho uma tabela com 2 campos:, id (primary key) fld_1 text
tenho 1 linha na tabela de destino, por exemplo 1 'hello world'
, e tenho um arquivo tsv de origem com 1 linha 1\t
:. Depois de carregar na tabela de destino, espero ver 1 null
, mas os dados não mudam e ainda recebo 1 'hello world'
a configuração que 'dsbulk.schema.nullToUnset': 'false'
me ajudou, mas me parece que não é a melhor solução. Existem maneiras adequadas de carregar dados com valores nulos ou a solução fornecida está tudo bem?
relate perguntas
-
Configuração multidatacenter Cassandra com 1 ip externo
-
Problemas de atualização/reparo do Cassandra na migração
-
Consultas do navegador Cassandra cqlsh possíveis apenas em bytes
-
Quais são as penalidades de usar muitos (milhares) de famílias de colunas ou keyspaces no Cassandra?
-
Criptografia Cassandra em repouso
O que você descreveu é o comportamento esperado, e o DSBulk evitará a inserção de valores nulos por padrão, porque eles causam marcas para exclusão no Cassandra.
Sem substituir o valor existente de 'hello world', ele ainda existiria apenas com uma atualização na coluna id.
Se você planeja fazer qualquer carregamento em massa, recomendo evitar o uso de dsbulk.schema.nullToUnset e permitir que ele seja padronizado como verdadeiro. Em vez de inserir valores nulos, se precisar substituir algo, inclua uma string vazia, um caractere especial, a string 'null', etc., mas não insira muitos nulos, pois você criará muitos desnecessariamente. lápides que podem causar problemas caso esses dados precisem ser lidos.