gpt4 book ai didi

hadoop - 如何选择Hadoop工具以获得更快的性能

转载 作者:行者123 更新时间:2023-12-02 22:03:53 24 4
gpt4 key购买 nike

我很困惑决定解决问题的技术和方法。

我有5000个测试文件,其中包含从RDBMS生成的大约4TB数据,准备所有5k文本文件大约需要4天的时间。为了解决此问题,我正在考虑移动所有5k文本文件数据到Hadoop系统中,以便可以从那里更快地读取数据,并可以更快地生成文本文件。

在数据将增加之后,我必须第一次进行此 Activity ,但是每个月我必须生成5k文本文件。

通常,我必须进行全表扫描,并且可能必须执行一些连接才能准备5 K文件。

谁能建议我在这种情况下应该考虑使用哪种工具。
MapReduce和HBase或HIVE表或其他内容。

最佳答案

尚不清楚您要做什么,因为您想将文本文件移至Hadoop,然后生成文本文件?我会尝试回答几点。

您采用的方法和使用的技术取决于一些因素,例如您想如何使用数据:将所有数据导出到另一个系统?做分析?随机访问是否读取数据的一小部分?或者只是将其存档,例如出于法律要求?

导入数据的一些选项:

  • 如果输入数据已经是文本文件,并且具有明确定义的结构(例如,定界),则可以将其直接移入HDFS并创建Hive外部表以在需要时读取它们。这应该比其他方法更快地实现。
  • 如果输入是文本文件,但是使用Hive QL难以处理结构,请考虑使用Spark导入,重新格式化和导出数据。然后,如果要从Hive中使用,则可以将数据作为分隔文件存储在HDFS上,也可以将其加载到HBase中。
  • 如果输入数据来自RDMS,并且您可以访问RDMS:可以使用Hive或Spark-查看Spark JDBC。如果要转换数据,Hive将更简单,但灵活性更差。可以在Hive中使用联接添加简单的尺寸信息。如果您的数据不容易连接,但是编写起来更加复杂,Spark代码将提供更高的灵活性。 Spark还可以处理实时流,如果您的源生成流数据,Spark会很有用。
  • 要对数据进行复杂的转换,这可能在Hive中难以完成,或者需要多次传递数据(缓慢),则可以考虑使用Spark(内存处理)。 Spark可以快速处理数据-添加维度和格式化数据可以快速灵活地进行。缺点是您需要开发和维护自定义代码才能做到这一点,例如,使用Java,Python或Scala。转换后,如果要从Hive访问数据,则可以将数据作为分隔文件写入HDFS。或者,如果要快速,随机地访问数据,请加载到HBase。
  • 如果您想从RDMS中提取,并且提取逻辑相当简单(例如,基于Updated_date列进行提取),则
  • Sqoop是一个选项。 Sqoop并不是非常可定制的,因此比这更复杂的事情,您应该考虑其他选项

  • 使用数据的一些选项:
  • Hive为您提供类似SQL的语言,如果您的团队或最终用户熟悉SQL,则可能更易于使用。 Hive可以进行联接,汇总等。您可以安排它们与Oozie一起每天/每周/每月运行。请注意,Hive在群集上执行MapReduce作业,就像在每个节点上的磁盘上运行的“批处理”一样。不适用于快速的交互式查询,但适用于一次处理大部分数据。在我看来,您可能想进行类似批处理的处理。您还可以为分析师用户提供访问Hive的权限,以便对您定义的表进行分析。最后,您可以使用ODBC从Excel连接到Hive,这可能会非常有用,具体取决于您的用例。
  • HBase是快速,随机访问海量数据的好选择。例如,从数百万的客户中查找一位客户的信息。但是,由于HBase不会像Hive一样有效地进行全表扫描,因此不希望对HBase表进行分析。
  • 混合选项:如果您想偶尔执行批查询并通过HBase进行随机访问,则可以将数据存储在HBase中并创建Hive外部表。由于使用HBase扫描,与使用分隔文件而不是HBase相比,Hive查询通常会更慢。
  • 如果您不想在每条记录上添加查找信息,并且由于希望进行随机访问而不希望使用Hive,请考虑使用Storm DRPC在请求数据时即时添加维度。这对于随机访问数据非常有效,因为对于每条记录,将所有维信息存储在HDFS中效率较低。比使用Hive进行操作更复杂,更灵活。
  • 关于hadoop - 如何选择Hadoop工具以获得更快的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40269186/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com