gpt4 book ai didi

hadoop - SQOOP 可以使用自定义 libpath 吗?

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

我正在尝试使用 Sqoop 将一些表数据从 PostgreSQL 导入到 HDFS。现在,由于许可限制,Sqoop 并未与所有 JDBC 兼容数据库的 JDBC 驱动程序打包在一起。 PostgreSQL 就是其中之一。为了与该数据库进行交互,Sqoop 需要将相关的 JDBC 驱动程序安装到预设的类路径中(通常是 $SQOOP_HOME/lib)。

在我的例子中,Hadoop 管理员没有向我提供对此预定义类路径的写入权限。有没有其他方法可以指示 Sqoop 客户端查看某些路径(例如,我的主目录)而不是预设位置或除了预设位置之外?

我查看了 Apache 的官方文档并搜索了互联网,但无法获得任何答案。有人可以帮忙吗?

谢谢!

最佳答案

我昨天开始工作了。以下是要遵循的步骤。

  1. here 下载适当的 JDBC 驱动程序
  2. 将jar 文件放在选择的目录下。我选择了hadoop 集群用户的主目录,即 /home/myuser
  3. export HADOOP_CLASSPATH="/home/myuser/postgresql-9.4.1209.jar"(将/home/myuser/postgresql-9.4.1209.jar 替换为您的路径和 jar 文件名)
  4. 要执行 Sqoop 导入,您可以使用以下命令。

    sqoop import
    --connect 'jdbc:postgresql://<postgres_server_url>:<postgres_port>/<db_name>'
    --username <db_user_name>
    --password <db_user_password>
    --table <db_table_name>
    --warehouse-dir <existing_empty_hdfs_directory>

  5. 要执行 Sqoop 导出,您可以使用以下命令。

    sqoop export
    --connect 'jdbc:postgresql://<postgres_server_url>:<postgres_port>/<db_name>'
    --username <db_user_name>
    --password <db_user_password>
    --table <db_table_name>
    --export-dir <existing_hdfs_path_containing_export_data>

关于hadoop - SQOOP 可以使用自定义 libpath 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39165307/

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