1
4

1 回答 1

1

您是对的,对于 cassandra-unloader/cassandra-loader,默认分隔符 (",") 在 Yugabyte DB 中存在 YCQL JSONB 列的情况下不起作用。

关于:

<< 作为替代方法,尝试将 -delim “\t” 传递给 cassandra-unloader——但这似乎插入了两个字符“\”和“t”,而不是单制表符。这是预期的吗?>>

使用制表符作为分隔符应该可以正常工作。但是 unix shell 需要一些转义才能将 "\t" 正确传递给程序。请参阅:https ://superuser.com/questions/362235/how-do-i-enter-a-literal-tab-character-in-a-bash-shell

使用: -delim $'\t' 代替 -delim "\t"

因此,例如对于导出,请尝试:

./cassandra-unloader -schema "my_ksp.my_table(id,type,details)" -host <tserver-ip> -f export.csv -numThreads 3 -delim $'\t'

对于导入,请尝试:

./cassandra-loader -schema "my_ksp.my_table_new(id,type,details)" -host <tserver-ip> -f /home/yugabyte/entity -numThreads 3 -progressRate 200000 -numFutures 256 -rate 5000 -queryTimeout 65 -delim $'\t'

于 2019-09-08T05:50:00.960 回答