gpt4 book ai didi

hadoop - sqoop导入多个表

转载 作者:可可西里 更新时间:2023-11-01 14:14:30 26 4
gpt4 key购买 nike

我们正在使用 Cloudera CDH 4,我们能够按预期将表从我们的 Oracle 数据库导入我们的 HDFS 仓库。问题是我们的数据库中有成千上万个表,而 sqoop 一次只支持导入一个表。

将多个表导入 HDFS 或 Hive 有哪些选项?例如,一次将 200 个表从 oracle 导入 HDFS 或 Hive 的最佳方法是什么?

到目前为止,我看到的唯一解决方案是为每个表导入创建一个 sqoop 作业,然后单独运行它们。由于 Hadoop 旨在处理大型数据集,因此似乎应该有更好的方法。

最佳答案

您可以使用“import-all-tables”选项一次将所有表加载到 HDFS 中。

sqoop import-all-tables --connect jdbc:mysql://localhost/sqoop --username root --password hadoop  --target-dir '/Sqoop21/AllTables'

如果我们想排除一些表以加载到 hdfs 中,我们可以使用“--exclude-tables”选项

例如:

sqoop import-all-tables --connect jdbc:mysql://localhost/sqoop --username root --password hadoop  --target-dir '/Sqoop21/AllTables'  --exclude-tables <table1>,<tables2>

如果我们想存储在指定的目录中,那么你可以使用“--warehouse-dir”选项

例如:

sqoop import-all-tables --connect jdbc:mysql://localhost/sqoop --username root --password hadoop --warehouse-dir '/Sqoop'

关于hadoop - sqoop导入多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17194232/

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