Suryani Simon Turtan created SQOOP-3254: -------------------------------------------
Summary: sqoop export Hive ORC to Oracle CLOB columns are somewhat case-sensitive Key: SQOOP-3254 URL: https://issues.apache.org/jira/browse/SQOOP-3254 Project: Sqoop Issue Type: Bug Affects Versions: 1.4.6 Environment: HDP 2.4 and HDP 2.6 Reporter: Suryani Simon Turtan Priority: Critical I am trying to export a String column from Hive ORC table into Oracle CLOB column using HCatalog in Sqoop 1.4.6 (both HDP 2.4 and HDP 2.6). - HDP 2.4: Sqoop 1.4.6.2.4.3.0-227 - HDP 2.6: Sqoop 1.4.6.2.6.3.0-235 Table DDL in Oracle: CREATE TABLE ORACLE_CLOB_TABLE (ID VARCHAR(10), CLOBCOLUMN CLOB); Table DDL in Hive: CREATE TABLE default.hive_clob_table (id string, clobcolumn string) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'; insert into default.hive_clob_table (id, clobcolumn) values ("A0001", "This is a very large string text"); insert into default.hive_clob_table (id, clobcolumn) values ("B0002", "This is the second very large string text"); Sqoop Export Command: *CASE 1 -- Use Lower Case on Table name and Column list* - The command is not working on HDP 2.6 at all due to Oracle tables being defined as CAPITALIZED table and column names. - The command is working fine on HDP 2.4, with CLOB column exported accordingly sqoop \ export \ -Dmapreduce.job.queuename=queue \ --connect 'jdbc:oracle:thin:@//host:port/database_name'\ --username 'user_name' \ --password 'user_password' \ --verbose \ --table 'oracle_clob_table' \ --columns 'id, clobcolumn' \ --hcatalog-table 'hive_clob_table' \ --hcatalog-database 'default' \ --map-column-java clobcolumn=String Output in Oracle: | A0001 | This is a very large string text | | B0002 | This is the second very large string text | *CASE 2 -- Use Upper Case on Table name and Column list* - The command is working fine on both HDP 2.4 and HDP 2.6. However, CLOB column exported as NULL. sqoop \ export \ -Dmapreduce.job.queuename=queue \ --connect 'jdbc:oracle:thin:@//host:port/database_name'\ --username 'user_name' \ --password 'user_password' \ --verbose \ --table 'ORACLE_CLOB_TABLE' \ --columns 'ID, CLOBCOLUMN' \ --hcatalog-table 'hive_clob_table' \ --hcatalog-database 'default' \ --map-column-java CLOBCOLUMN=String Output in Oracle: | A0001 | NULL | | B0002 | NULL | I am curious why would the CASE of the column used in sqoop command would affect the CLOB export ability? Thank you. -- This message was sent by Atlassian JIRA (v6.4.14#64029)