我们有7个节点的Cassandra 3.11.3生产集群,我们将票证详细信息转储到中间服务器,我需要从此.csv文件读取并将.csv数据导入到cassandra表中。我尝试了ruby代码,该代码很容易编写,但是无法处理所有列值(因为此.csv将具有特殊字符,输入/不同行,UTF问题以及售票时过多的文本描述,工具),因为.csv中的每一行数据都在不断变化。
我想知道ruby或python是否适合在生产中执行此活动,或者是否有人有良好的示例代码来缓解上述问题并在生产环境中执行此类活动?
答案 0 :(得分:1)
Ruby和Python都非常适合这种任务,但是如果源文件格式错误,那么任何潜在的工具都可能会失败-没有魔术按钮工具可以从(损坏的)数据文件中推断出上下文,并且自动为您解决所有问题。
我建议将任务分为两部分:1)解决编码和数据质量问题(并在必要时执行任何数据转换),然后2)导入干净数据。
几乎可以使用任何一种编程语言(具有适当的cassandra驱动程序)轻松完成任务2,但是如果您具有格式良好的csv源,则可能根本不需要任何黑客(取决于使用情况,当然)-Cassandra支持copy ... from
命令,该命令允许直接从csv(https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlshCopy.html)导入数据。