gpt4 book ai didi

hadoop - 导入到 HDFS 或 Hive(直接)

转载 作者:可可西里 更新时间:2023-11-01 16:05:19 24 4
gpt4 key购买 nike

  1. 堆栈:使用 Ambari 2.1 安装 HDP-2.3.2.0-2950
  2. 来源是大约 1.6TB 和大约 25 个表的 MS SQL 数据库最终目标是检查现有查询是否可以在 HDP 上运行得更快
  3. 多次导入数据的时间和可用性并不奢侈,因此,导入必须完成一次,并且需要对 Hive 表、查询等进行试验,例如,首先创建一个正常的, ORC 中的分区表。如果还不够,请尝试索引等。可能,我们还会评估 Parquet 格式等

4.作为 4. 的解决方案,我决定首先将表以 Avro 格式导入 HDFS,例如:

sqoop import --connect 'jdbc:sqlserver://server;database=dbname' --username someuser --password somepassword --as-avrodatafile --num-mappers 8 --table tablename --warehouse-dir /dataload/tohdfs/ --verbose

现在我打算创建一个 Hive 表,但我有一些问题提到了 here .

我的问题是,鉴于以上所有要点,什么是最安全的(就时间而言而不是弄乱 HDFS 等)方法 - 首先引入 HDFS,创建 Hive 表并进行实验或直接导入 Hive(我不知道如果我现在删除这些表并希望重新开始,我是否必须重新导入数据)

最佳答案

对于加载,您可以尝试这些选项

1) 您可以将 mysql 导入 csv 文件,该文件将作为备份存储在您的 Linux 文件系统中,然后对 HDFS 执行 distcp。

2) 如前所述,您可以执行 Sqoop 导入并将数据加载到 Hive 表 (parent_table)。

要检查使用不同格式和分区表的性能,您可以使用 CTAS(创建表选择)查询,您可以在其中从基表(parent_table)创建新表。在 CTAS 中,您可以提及 parque 或 avro 等格式,并且分区选项也在那里。

即使您删除了 CTAS 创建的新表,基表也会在那里。

根据我的经验,Parque + 分区会提供最好的性能,但这也取决于您的数据。

关于hadoop - 导入到 HDFS 或 Hive(直接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37066609/

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