Apache spark 将20Gb csv文件复制到cassandra的最佳方法
我有一个巨大的20Gb csv文件要复制到cassandra中,当然我需要管理错误情况(如果服务器或传输/加载应用程序崩溃) 我需要重新启动处理(或是否启动其他节点),并在不启动csv文件的情况下继续传输 做这件事最好最简单的方法是什么 是否使用Copy CQLSH命令?使用flume还是sqoop?或者使用本机java应用程序,使用sparkApache spark 将20Gb csv文件复制到cassandra的最佳方法,apache-spark,cassandra,sqoop,flume,cqlsh,Apache Spark,Cassandra,Sqoop,Flume,Cqlsh,我有一个巨大的20Gb csv文件要复制到cassandra中,当然我需要管理错误情况(如果服务器或传输/加载应用程序崩溃) 我需要重新启动处理(或是否启动其他节点),并在不启动csv文件的情况下继续传输 做这件事最好最简单的方法是什么 是否使用Copy CQLSH命令?使用flume还是sqoop?或者使用本机java应用程序,使用spark 非常感谢如果是我,我会分割文件 我会选择一种更好的方式来加载任何csv数据,忽略巨大的文件大小和错误处理问题。例如,我将使用python脚本和本机驱动程
非常感谢如果是我,我会分割文件 我会选择一种更好的方式来加载任何csv数据,忽略巨大的文件大小和错误处理问题。例如,我将使用python脚本和本机驱动程序,并使用几行csv对其进行测试,以查看它是否可以从包含真实数据的小型csv文件中插入 然后,我将编写一个脚本,将文件拆分为可管理大小的块,不管您如何定义它。我会尝试一些块大小,以获得大约一分钟内加载的文件大小。20 GB可能需要数百个块,但可能不需要数千个
然后我会将整个文件分割成这样大小的块,并循环这些块,记录它是如何运行的。对于任何类型的错误,请修复该问题,然后从日志文件中找到的成功加载的最后一个块重新开始加载。以下是我将首先尝试的两个注意事项,因为它们简单且包含良好:
我认为CQLSH不能处理应用程序崩溃的情况,所以为什么不使用上面公开的两种解决方案,将文件分割成几个可管理的块,并使用copy-CQLSH命令导入数据呢 非常感谢您的回答,我想这就是CQLSH Copy命令不做的吗?我以前不知道CQLSH实用程序。文档中没有提到错误恢复和从中间重新启动,但这可能是一种将大文件分块加载的简单方法。我愿意接受上述两种答案,但遗憾的是我不能接受