Hello Mahebub,

The exception you are observing might suggest one of the following:

   - Table does not exist in the database
   - TableName is case sensitive and somehow not being found
   - Database user does not have permissions to see table

What is the output from the following commands:

sqoop list-tables --connect jdbc:postgresql://localhost:7432/test_db
--driver org.postgresql.Driver --username pgadmin --password pgadmin@1234

sqoop eval --connect jdbc:postgresql://localhost:7432/test_db --driver
org.postgresql.Driver --username pgadmin --password pgadmin@1234 --query
"select count(*) from user1"


Markus Kemper
Customer Operations Engineer
[image: www.cloudera.com] <http://www.cloudera.com>


On Tue, Aug 16, 2016 at 7:07 AM, Mahebub Sayyed <[email protected]>
wrote:

> Hello Boglarka and Markus,
>
> Thanks for reply.
> This is my sqoop command
>
> sqoop import --connect jdbc:postgresql://localhost:7432/test_db \
>   --driver org.postgresql.Driver --username pgadmin --password pgadmin@1234 \
>   --table user1  \
>   --fields-terminated-by '\001' \
>   --lines-terminated-by '\012' \
>   --hcatalog-database test \
>   --hcatalog-table user1 \
>   --hcatalog-partition-keys year,month,day \
>   --hcatalog-partition-values '2016,08,15' \
>   --verbose
>
> But I getting Error:
>
> ERROR tool.ImportTool: Encountered IOException running import job: 
> java.io.IOException: NoSuchObjectException(message:test.user1 table not found)
>         at 
> org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:97)
>         at 
> org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:51)
>         at 
> org.apache.sqoop.mapreduce.hcat.SqoopHCatUtilities.configureHCat(SqoopHCatUtilities.java:343)
>         at 
> org.apache.sqoop.mapreduce.hcat.SqoopHCatUtilities.configureImportOutputFormat(SqoopHCatUtilities.java:783)
>         at 
> org.apache.sqoop.mapreduce.ImportJobBase.configureOutputFormat(ImportJobBase.java:98)
>         at 
> org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:259)
>         at 
> org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:673)
>         at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:497)
>         at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)
>         at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
>         at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
>         at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
>         at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
>         at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
> Caused by: NoSuchObjectException(message:test.user1 table not found)
>         at 
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_table_result$get_table_resultStandardScheme.read(ThriftHiveMetastore.java:34980)
>         at 
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_table_result$get_table_resultStandardScheme.read(ThriftHiveMetastore.java:34948)
>         at 
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_table_result.read(ThriftHiveMetastore.java:34879)
>         at 
> org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
>         at 
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_table(ThriftHiveMetastore.java:1214)
>         at 
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_table(ThriftHiveMetastore.java:1200)
>         at 
> org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:1201)
>         at 
> org.apache.hive.hcatalog.common.HCatUtil.getTable(HCatUtil.java:180)
>         at 
> org.apache.hive.hcatalog.mapreduce.InitializeInput.getInputJobInfo(InitializeInput.java:105)
>         at 
> org.apache.hive.hcatalog.mapreduce.InitializeInput.setInput(InitializeInput.java:86)
>         at 
> org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:95)
>         ... 14 more
>
> On Mon, Aug 15, 2016 at 4:35 PM, Markus Kemper <[email protected]>
> wrote:
>
>> Hello Mahebub,
>>
>> Bogi is correct and great answer btw.
>>
>> To the best of my knowledge, with Sqoop and Hive Partitioning the
>> following rules apply:
>> 1. With static partitions you can use either (--hive-import or --hcatalog
>> options)
>> 2. With dynamic partitions you can only use (--hcatalog options)
>>
>> Example (static):
>> sqoop import --connect $MYCONN --username $MYUSER --password $MYPSWD
>> --table t1 --columns c1,c2 --where "p1 = 1" --num-mappers 1 --hive-import
>> --hive-database default --hive-table t1_partition --hive-partition-key
>> <col> --hive-partition-value <value>
>>
>> Example (dynamic):
>> sqoop import --connect $MYCONN --username $MYUSER --password $MYPSWD
>> --table t1 --hcatalog-database default --hcatalog-table t1_partitioned
>> --num-mappers 1 --verbose --where "c1 > 1" --hive-partition-value <col>
>>
>>
>>
>>
>>
>> Markus Kemper
>> Customer Operations Engineer
>> [image: www.cloudera.com] <http://www.cloudera.com>
>>
>>
>> On Mon, Aug 15, 2016 at 9:19 AM, Boglarka Egyed <[email protected]>
>> wrote:
>>
>>> Hi Mahebub,
>>>
>>> Unfortunatelly, using *--hive-partition-key* and
>>> *--hive-partition-value* requires each Sqoop statement to be imported
>>> into a single Hive partition. There is currently no support for Hive
>>> auto-partitioning. Instead, if a data set is to be imported into
>>> multiple partitions in a table, separate Sqoop statements are needed for
>>> insertion into each partition.
>>>
>>> However, using *--hcatalog-partition-keys *and
>>> *--hcatalog-partition-values *you can specify multiple static partition
>>> key/value pairs, please find the details in the User Guide:
>>> https://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.ht
>>> ml#_sqoop_hcatalog_integration
>>>
>>> Best Regards,
>>> Bogi
>>>
>>> On Mon, Aug 15, 2016 at 9:51 AM, Mahebub Sayyed <[email protected]>
>>> wrote:
>>>
>>>> I need to create/import  hive table having three Partitions
>>>> year/month/day using Sqoop. I have checked *--hive-partition-key* and
>>>> *--hive-partition-value* in sqoop. using these parameters I have
>>>> created partition *year* like this --hive-partition-key year
>>>> --hive-partition-value '2016' My question is how to pass multiple
>>>> values for partition-key and partition-value to create partitions like
>>>> year/month/day.
>>>>
>>>> --
>>>> *Regards,*
>>>> *Mahebub Sayyed*
>>>>
>>>
>>>
>>
>
>
> --
> *Regards,*
> *Mahebub Sayyed*
>

Reply via email to