sqoop 不导入数据类型 varchar2
sqoop not import datatype varchar2
sqoop 无法将数据类型 varchar2 导入到 hadoop
我在 oracle 数据库中有一个 table,我想将数据导入到 hdfs。
我正在尝试使用 sqoop 进行操作,但未导入 varchar2 列。
我的意思是这些数据没有到达 hdfs 文件。
我的 sqoop 命令
sqoop import -D mapred.job.name='default oraoop' --driver oracle.jdbc.driver.OracleDriver --connect "jdbc:oracle:thin:MyIp:MyServiceName" --username "XXXX" --password "XX" --target-dir "My_dir" --query 'select * from MyTable where $CONDITIONS' --split-by "coulmn" --boundary-query "SELECT min(splitColumn),max(SplitCoulmn) FROM DUAL" --num-mappers 30
可能是 sqoop 无法识别 VARCHAR2
的匹配 java 类型,所以尝试使用 --map-column-java
.
假设 A 列是 VARCHAR2
类型,那么您的 sqoop 命令将是,
sqoop import -D mapred.job.name='default oraoop' --driver oracle.jdbc.driver.OracleDriver --connect "jdbc:oracle:thin:MyIp:MyServiceName" --username "XXXX" --password "XX" --target-dir "My_dir" --query 'select * from MyTable where $CONDITIONS' --map-column-java a=String --split-by "coulmn" --boundary-query "SELECT min(splitColumn),max(SplitCoulmn) FROM DUAL" --num-mappers 30
让我知道这是否有效。
你可以尝试降级 ojdbc 而不是使用更高的 ojdbc "ojdbc6 or ojdbc7" 使用 "ojdbc14" 这解决了我的问题但是为了不面对某些编码的异常 类在从 orale9i 导入数据时未找到删除或重命名 "ori18n.jar"。
您可以在“$HADOOP_CLASSPATH”和“$SQOOP_HOME[=16=”中找到这些 jar 文件的路径]
sqoop 无法将数据类型 varchar2 导入到 hadoop 我在 oracle 数据库中有一个 table,我想将数据导入到 hdfs。 我正在尝试使用 sqoop 进行操作,但未导入 varchar2 列。 我的意思是这些数据没有到达 hdfs 文件。 我的 sqoop 命令
sqoop import -D mapred.job.name='default oraoop' --driver oracle.jdbc.driver.OracleDriver --connect "jdbc:oracle:thin:MyIp:MyServiceName" --username "XXXX" --password "XX" --target-dir "My_dir" --query 'select * from MyTable where $CONDITIONS' --split-by "coulmn" --boundary-query "SELECT min(splitColumn),max(SplitCoulmn) FROM DUAL" --num-mappers 30
可能是 sqoop 无法识别 VARCHAR2
的匹配 java 类型,所以尝试使用 --map-column-java
.
假设 A 列是 VARCHAR2
类型,那么您的 sqoop 命令将是,
sqoop import -D mapred.job.name='default oraoop' --driver oracle.jdbc.driver.OracleDriver --connect "jdbc:oracle:thin:MyIp:MyServiceName" --username "XXXX" --password "XX" --target-dir "My_dir" --query 'select * from MyTable where $CONDITIONS' --map-column-java a=String --split-by "coulmn" --boundary-query "SELECT min(splitColumn),max(SplitCoulmn) FROM DUAL" --num-mappers 30
让我知道这是否有效。
你可以尝试降级 ojdbc 而不是使用更高的 ojdbc "ojdbc6 or ojdbc7" 使用 "ojdbc14" 这解决了我的问题但是为了不面对某些编码的异常 类在从 orale9i 导入数据时未找到删除或重命名 "ori18n.jar"。
您可以在“$HADOOP_CLASSPATH”和“$SQOOP_HOME[=16=”中找到这些 jar 文件的路径]