sqoop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joseph Boyd (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SQOOP-332) Cannot use --as-avrodatafile with --query
Date Mon, 12 Sep 2011 20:55:08 GMT

    [ https://issues.apache.org/jira/browse/SQOOP-332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13103038#comment-13103038
] 

Joseph Boyd commented on SQOOP-332:
-----------------------------------

I think I'll leave the patch as-is, and ask for any comments on it.


I looked at ClassWriter a bit.  ClassWriter is using com.cloudera.sqoop.orm.TableClassName
internally to pick a class name.  TableClassName is defaulting to a class named 'QueryResult'
when no table name was specified on the command line, AND no class name was given on the command
line.


That look at ClassWriter left me thinking that a simple default like 'QueryResult' is useful
enough for this JIRA:
 - Forcing a match to TableClassName's choice probably wouldn't suit some people
 - Adding another sqoop option (--avro-record-name or similar) just for setting the avro record
name seems a bit too much at this point.




> Cannot use --as-avrodatafile with --query
> -----------------------------------------
>
>                 Key: SQOOP-332
>                 URL: https://issues.apache.org/jira/browse/SQOOP-332
>             Project: Sqoop
>          Issue Type: Bug
>          Components: codegen
>    Affects Versions: 1.3.0, 1.4.0
>            Reporter: Aaron Kimball
>            Assignee: Joseph Boyd
>         Attachments: SQOOP-332.patch
>
>
> Using sqoop with --as-avrodatafile and --query to specify a freeform query causes an
exception:
> {code}11/08/30 19:55:28 ERROR sqoop.Sqoop: Got exception running Sqoop: org.apache.avro.AvroRuntimeException:
Can't set a property to null: tableName
> org.apache.avro.AvroRuntimeException: Can't set a property to null: tableName
> 	at org.apache.avro.Schema$Props.add(Schema.java:124)
> 	at org.apache.avro.Schema.addProp(Schema.java:166)
> 	at com.cloudera.sqoop.orm.AvroSchemaGenerator.generate(AvroSchemaGenerator.java:69)
> 	at com.cloudera.sqoop.mapreduce.DataDrivenImportJob.configureMapper(DataDrivenImportJob.java:78)
> 	at com.cloudera.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:175)
> 	at com.cloudera.sqoop.manager.SqlManager.importQuery(SqlManager.java:442)
> 	at com.cloudera.sqoop.tool.ImportTool.importTable(ImportTool.java:352)
> 	at com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:423)
> 	at com.cloudera.sqoop.Sqoop.run(Sqoop.java:144)
> 	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
> 	at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:180)
> 	at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:219)
> 	at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:228)
> 	at com.cloudera.sqoop.Sqoop.main(Sqoop.java:237){code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message