hadoop - 到 hadoop 还是不到 hadoop

标签 hadoop ssis etl

我们有数据(此时未分配)要转换/聚合/透视到 wazoo。

我在 www 上看了看,我问的所有答案都指向 hadoop 可扩展、运行便宜(没有 SQL 服务器机器和许可证)、快速(如果你有足够的数据)、可编程(不少你拖来拖去的盒子)。

我一直遇到一个问题 即“如果你有超过 10gb 的数据,请使用 hadoop”

现在我们甚至没有 1gb 的数据(在这个阶段)是否仍然可行。

我的另一个选择是 SSIS。现在我们确实将 SSIS 用于我们当前的一些 ETL,但我们没有资源,将 SQL 放在云中只会花费很多,甚至不让我开始考虑可伸缩性成本和配置。

谢谢

最佳答案

您当前的数据量似乎太低,无法进入 hadoop。仅当您正在处理大量数据(TB/年)并且您怀疑数据量会呈指数级增长时才进入 hadoop 生态系统。

让我解释一下为什么我建议不要为如此低的数据量使用 hadoop。 默认情况下,hadoop 将您的文件存储为 128MB 的数据 block ,并且在处理时,它一次需要 128MB 的 block 来处理(并行)。如果您的业务要求涉及繁重的 CPU 密集型处理,那么您可以将输入 block 大小从 128MB 减少到更少。但是再次通过减少要并行处理的数据量,您最终会增加 IO seaks(低级 block 存储)的数量。最后,您可能会花费更多的资源来管理任务,而不是实际任务所占用的资源。因此,请尽量避免将分布式计算作为您(低)数据量的解决方案。

关于hadoop - 到 hadoop 还是不到 hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37542206/

相关文章:

csv - 使用标题将 CSV 加载到 Redshift 中?

java - 将应用程序提交到Spark集群:错误本地类不兼容

hadoop - HDInsight 上的 HCatalog 通知

.net - SSIS 包错误 - 无法将 unicode 转换为非 unicode

sql - 错误:分配给变量“User::的值 (DBNull) 的类型与当前变量类型 (String) 不同

sql - SSIS 结果集、Foreachloop 和变量

c# - 无法让 SSIS 脚本任务工作

python - 使用 Python 的 ETL

hadoop - Hadoop mapreduce设计/路由映射器和化简器一次完成

hadoop - Hadoop 1.0.4 上的 Impala