【问题标题】:How do the various large data transfer methods for hadoop compare to each other?hadoop 的各种大数据传输方法如何相互比较?
【发布时间】:2013-12-17 15:23:32
【问题描述】:

将数据传输到 hadoop 集群的方法有很多种 - 例如,以编程方式写入数据(例如,通过library)、通过 odbc 连接器传输(例如,包括在 sqoop 中)、通过 Thrift 或通过命令行工具。

各种数据传输选项如何比较大规模原始数据的传输能力?


对于上下文:

我希望安排一个不规则的流程,将大约 3TB 的数据传输到 Hadoop 集群中。

没有太多要求——只要我尽快将数据传输进来;数据传输步骤是这里最重要的瓶颈。数据可以传输到集群上的任何地方——HDFS 上的文件或 Hbase 上更结构化的数据。

我可以选择是从事务性数据库中加载数据,还是从文件系统中的一组 CSV 文件中加载数据,如果它们承诺显着提高性能,我可以灵活地尝试其他替代方法。

我已经查看了可用的选项,并对最有效的选项有一些直觉,但我希望看到性能测试信息的任何测量值(如果有)。

【问题讨论】:

    标签: hadoop thrift data-transfer sqoop


    【解决方案1】:

    我会说使用hadoop -fs ... 命令将压缩的 CSV 上传到 HDFS 将是最快的选择。在这种情况下,网络带宽是限制传输速率的唯一因素。

    所有其他选项可能只会增加传输数据大小的开销。其中一些可能不会增加开销,但执行控制台命令很简单,为什么要复杂?

    数据上传到 HDFS 后,可以根据需要进行转换,或者使用 Pig 或 Map/Reduce 转换为 HBase。与本地文件系统上的数据转换相比,HDFS 数据的任何转换都将更快,因为处理将是并行的,并且(很可能)它将在存储相应数据块的节点上本地发生。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 2020-02-14
      相关资源
      最近更新 更多