sqoop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henrique Alves Junqueira Nogueira Branco (Jira)" <j...@apache.org>
Subject [jira] [Created] (SQOOP-3476) Allow table choose in --map-column-hive parameter.
Date Wed, 03 Jun 2020 20:04:00 GMT
Henrique Alves Junqueira Nogueira Branco created SQOOP-3476:
---------------------------------------------------------------

             Summary: Allow table choose in --map-column-hive parameter.
                 Key: SQOOP-3476
                 URL: https://issues.apache.org/jira/browse/SQOOP-3476
             Project: Sqoop
          Issue Type: Improvement
          Components: connectors/mysql
    Affects Versions: 1.4.7
         Environment: MySQL 8.0, Sqoop 1.4.7, Hive 3.1.1
            Reporter: Henrique Alves Junqueira Nogueira Branco


Hi there, 



o achieve that I've used first the following command line:
 sqoop-import-all-tables
--connect jdbc:mysql://IP:porta/mydatabase
--username myusername
-p
--hive-import
--direct
But there are some incompatibility between data type in MySQL and Hive, and I received the
following error message:
 ERROR tool.ImportAllTablesTool: Encountered IOException running import job: java.io.IOException:
Hive does not support the SQL type for column rowguid.
So, looking at [Sqoop 1.4.7 documentation|https://sqoop.apache.org/docs/1.4.7/SqoopUserGuide.html],
I noticed that there is a parameter 

{{--map-column-hive <name-of-column-to-map>}}.

So, I added it to my command line: 

{{--map-column-hive rowguid=binary}} 

and got this new error:
 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.IllegalArgumentException: No column
by the name rowguid found while importing data
java.lang.IllegalArgumentException: No column by the name rowguid found while importing data
This error happens when Sqoop is importing the next table after the one containing rowguid
column.

My database has several tables and tons of columns. When I execute the above command line,
it goes normal until it throws me an error related to missing column rowguid. Of course, this
mapping should be done just on the specific table where this column exists, not in all tables.

Is there a way to define {{table-name + column-name}} in {{--map-column-hive}} 

parameter? Or another way to step over this issue? Maybe importing all tables changing automatically
the data types?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message