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