[ 
https://issues.apache.org/jira/browse/SQOOP-1395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Qian Xu closed SQOOP-1395.
--------------------------

> Potential naming conflict in Avro schema
> ----------------------------------------
>
>                 Key: SQOOP-1395
>                 URL: https://issues.apache.org/jira/browse/SQOOP-1395
>             Project: Sqoop
>          Issue Type: Sub-task
>          Components: tools
>            Reporter: Qian Xu
>            Assignee: Qian Xu
>            Priority: Minor
>             Fix For: 1.4.6
>
>         Attachments: SQOOP-1395.patch
>
>
> If you import a table "users". Sqoop will generate an entity class named 
> "users.java". The class will be compiled, submitted and used by a mapreduce 
> job. If the target file format is Avro or Parquet, an Avro schema will be 
> generated as well. According to Avro specification, the entity class is 
> described as "record", the name of the "record" is "users".
> For Parquet file format handling, we use the Kite SDK to manage Parquet file 
> reading and writing with minimal efforts. Kite requires an Avro schema and 
> all data records to be packed into GenericRecord instances. There will be a 
> problem here. Kite will read the schema first and try to instantiate a record 
> regarding its name. In this case, Kite will try to instantiate a "users" 
> class. Unfortunately, there is a "users.java" out there. This will cause 
> mapreduce job fail. 
> The patch proposes to change the {{AvroSchemaGenerator}} class. Record name 
> will have a prefix. In this example, the record name of "users.java" will be 
> changed to "sqoop_import_users".



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to