Two issues:

1. I've created external tables in hive based on file location before and
it work without any issue. It don't have to be a directory.

2. If there are more than one file in the directory, and you create
external table based on directory then how the table knows that which file
it need to look for the data?

I tried to create the table based on directory, it created the table but
all the rows were NULL.

-Sanjeev


On Thu, Jun 20, 2013 at 10:30 AM, Nitin Pawar <nitinpawar...@gmail.com>wrote:

> in hive when you create table and use the location to refer hdfs path,
> that path is supposed to be a directory.
> If the directory is not existing it will try to create it and if its a
> file it will throw an error as its not a directory
>
> thats the error you are getting that location you referred is a file.
> Change it to the directory and see if that works for you
>
>
> On Thu, Jun 20, 2013 at 10:57 PM, sanjeev sagar 
> <sanjeev.sa...@gmail.com>wrote:
>
>> I did mention in my mail the hdfs file exists in that location. See below
>>
>> In HDFS: file exists
>>
>>
>>
>> hadoop fs -ls
>>
>> /user/flume/events/request_logs/
>> ar1.vgs.mypoints.com/13-06-13/FlumeData.1371144648033
>>
>> Found 1 items
>>
>> -rw-r--r--   3 hdfs supergroup 2242037226 2013-06-13 11:14
>>
>> /user/flume/events/request_logs/
>> ar1.vgs.mypoints.com/13-06-13/FlumeData.1371144648033
>>
>> so the directory and file both exists.
>>
>>
>> On Thu, Jun 20, 2013 at 10:24 AM, Nitin Pawar <nitinpawar...@gmail.com>wrote:
>>
>>> MetaException(message:hdfs://
>>> h1.vgs.mypoints.com:8020/user/flume/events/request_logs/ar1.vgs.mypoints.com/13-06-13/FlumeData.1371144648033
>>>
>>> is not a directory or unable to create one)
>>>
>>>
>>> it clearly says its not a directory. Point to the dictory and it will
>>> work
>>>
>>>
>>> On Thu, Jun 20, 2013 at 10:52 PM, sanjeev sagar <sanjeev.sa...@gmail.com
>>> > wrote:
>>>
>>>> Hello Everyone, I'm running into the following Hive external table
>>>> issue.
>>>>
>>>>
>>>>
>>>> hive> CREATE EXTERNAL TABLE access(
>>>>
>>>>      >       host STRING,
>>>>
>>>>      >       identity STRING,
>>>>
>>>>      >       user STRING,
>>>>
>>>>      >       time STRING,
>>>>
>>>>      >       request STRING,
>>>>
>>>>      >       status STRING,
>>>>
>>>>      >       size STRING,
>>>>
>>>>      >       referer STRING,
>>>>
>>>>      >       agent STRING)
>>>>
>>>>      >       ROW FORMAT SERDE
>>>>
>>>> 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
>>>>
>>>>      >       WITH SERDEPROPERTIES (
>>>>
>>>>      >      "input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\])
>>>>
>>>> ([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*)(?: ([^ \"]*|\"[^\"]*\") ([^
>>>> \"]*|\"[^\"]*\"))?",
>>>>
>>>>      >       "output.format.string" = "%1$s %2$s %3$s %4$s %5$s %6$s
>>>>
>>>> %7$s %8$s %9$s"
>>>>
>>>>      >       )
>>>>
>>>>      >       STORED AS TEXTFILE
>>>>
>>>>      >       LOCATION
>>>>
>>>> '/user/flume/events/request_logs/
>>>> ar1.vgs.mypoints.com/13-06-13/FlumeData.1371144648033';
>>>>
>>>> FAILED: Error in metadata:
>>>>
>>>> MetaException(message:hdfs://
>>>> h1.vgs.mypoints.com:8020/user/flume/events/request_logs/ar1.vgs.mypoints.com/13-06-13/FlumeData.1371144648033
>>>>
>>>> is not a directory or unable to create one)
>>>>
>>>> FAILED: Execution Error, return code 1 from
>>>> org.apache.hadoop.hive.ql.exec.DDLTask
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> In HDFS: file exists
>>>>
>>>>
>>>>
>>>> hadoop fs -ls
>>>>
>>>> /user/flume/events/request_logs/
>>>> ar1.vgs.mypoints.com/13-06-13/FlumeData.1371144648033
>>>>
>>>> Found 1 items
>>>>
>>>> -rw-r--r--   3 hdfs supergroup 2242037226 2013-06-13 11:14
>>>>
>>>> /user/flume/events/request_logs/
>>>> ar1.vgs.mypoints.com/13-06-13/FlumeData.1371144648033
>>>>
>>>>
>>>>
>>>> I've download the serde2 jar file too and install it in
>>>> /usr/lib/hive/lib/hive-json-serde-0.2.jar and I've bounced all the hadoop
>>>> services after that.
>>>>
>>>>
>>>>
>>>> I even added the jar file manually in hive and run the above sql but
>>>> still failing.
>>>>
>>>> ive> add jar /usr/lib/hive/lib/hive-json-serde-0.2.jar
>>>>
>>>>      > ;
>>>>
>>>> Added /usr/lib/hive/lib/hive-json-serde-0.2.jar to class path Added
>>>> resource: /usr/lib/hive/lib/hive-json-serde-0.2.jar
>>>>
>>>>
>>>>
>>>> Any help would be highly appreciable.
>>>>
>>>>
>>>>
>>>> -Sanjeev
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Sanjeev Sagar
>>>>
>>>> *"**Separate yourself from everything that separates you from others !"- 
>>>> Nirankari
>>>> Baba Hardev Singh ji *
>>>>
>>>> **
>>>>
>>>
>>>
>>>
>>> --
>>> Nitin Pawar
>>>
>>
>>
>>
>> --
>> Sanjeev Sagar
>>
>> *"**Separate yourself from everything that separates you from others !"- 
>> Nirankari
>> Baba Hardev Singh ji *
>>
>> **
>>
>
>
>
> --
> Nitin Pawar
>



-- 
Sanjeev Sagar

*"**Separate yourself from everything that separates you from others
!" - Nirankari
Baba Hardev Singh ji *

**

Reply via email to