Hi Oliver,
In order to create external tables you must be having write access to the 
folder.
Also in order to create external table just give the location of the folder in 
which your file is located.


For example if your file "actual_log_file_name.seq" is stored in "03-24" folder 
then try one attempt as:
CREATE EXTERNAL TABLE mylogs (line STRING) STORED AS SEQUENCEFILE LOCATION 
'hdfs:///logs/2014/03-24/


Otherwise I too has the same problem and I found out that without write 
permission user can not create external table.Other alternate is to copy this 
file under your hdfs directory then create a table (not every time useful).

Thanks,
Rishabh.




On Monday, 24 March 2014 9:16 PM, Abdelrahman Shettia 
<ashet...@hortonworks.com> wrote:
 
Hi Oliver, 

Can you perform a simple test of hadoop fs -cat 
hdfs:///logs/2014/03-24/actual_log_file_name.seq by the same user? Also what 
are the configurations setting for the following?

hive.metastore.execute.setugi

hive.metastore.warehouse.dir

hive.metastore.uris 


Thanks,
Rahman

On Mar 24, 2014, at 8:17 AM, Oliver <ohook...@gmail.com> wrote:

Hi,
>
>
>I have a bunch of data already in place in a directory on HDFS containing many 
>different logs of different types, so I'm attempting to load these externally 
>like so:
>
>
>CREATE EXTERNAL TABLE mylogs (line STRING) STORED AS SEQUENCEFILE LOCATION 
>'hdfs:///logs/2014/03-24/actual_log_file_name.seq';
>
>
>
>However I get this error back when doing so:
>
>
>FAILED: Execution Error, return code 1 from 
>org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: 
>org.apache.hadoop.security.AccessControlException Permission denied: 
>user=oliver, access=WRITE, inode="/logs/2014/03-24":logs:supergroup:drwxr-xr-x
>at 
>org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:224)
>at 
>org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:204)
>at 
>org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:149)
>at 
>org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:4716)
>at 
>org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:4698)
>at 
>org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkAncestorAccess(FSNamesystem.java:4672)
>at 
>org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirsInternal(FSNamesystem.java:3035)
>at 
>org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirsInt(FSNamesystem.java:2999)
>at 
>org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:2980)
>at 
>org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.mkdirs(NameNodeRpcServer.java:648)
>at 
>org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.mkdirs(ClientNamenodeProtocolServerSideTranslatorPB.java:419)
>at 
>org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java:44970)
>at 
>org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:453)
>at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1002)
>at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1701)
>at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1697)
>at java.security.AccessController.doPrivileged(Native Method)
>at javax.security.auth.Subject.doAs(Unknown Source)
>at 
>org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)
>at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1695)
>)
>
>
>This directory is intentionally read-only by regular users who want to read 
>the logs and analyse them. Am I missing some configuration data for Hive that 
>will tell it to only store metadata elsewhere? I already have 
>hive.metastore.warehouse.dir set to another location where I have write 
>permission.
>
>
>Best Regards,
>Oliver


CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to 
which it is addressed and may contain information that is confidential, 
privileged and exempt from disclosure under applicable law. If the reader of 
this message is not the intended recipient, you are hereby notified that any 
printing, copying, dissemination, distribution, disclosure or forwarding of 
this communication is strictly prohibited. If you have received this 
communication in error, please contact the sender immediately and delete it 
from your system. Thank You.

Reply via email to