hive 创建表和导入数据
2013-02-05 14:44
295 查看
1.创建表
创建表的时候如果报下面的错表示 创建表的时候 用户不对,要切换用户,不一定root用户就能操作
2.插入数据
这一句是插入本地文件路径,这条语句表明'disp_20130204_14_disp1.log'这个文件在你执行hive进入hive>当时的路径,当然还是要关心权限问题,当前用户有很多地方不能访问,要将问题置于当前用户可以访问的一个路径下面
这一句是导入hdfs的文件路径
执行完后会自动转化到hdfs://nameservice1/user/hdfs/disp_20130204_14_disp1.log
CREATE TABLE disp_log_data ( ip STRING, time DOUBLE, title STRING, url STRING, hostname STRING, referrer STRING, uvid STRING, isnewvisitor int, scr STRING, spm_pre STRING, spm_url STRING, spm_cnt STRING, islogin int, userid int, categoryid int, brandid int, adid STRING, shopid int, itemid int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001' STORED AS TEXTFILE;
创建表的时候如果报下面的错表示 创建表的时候 用户不对,要切换用户,不一定root用户就能操作
FAILED: Error in metadata: MetaException(message:Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=root, access=WRITE, inode="/user/hive/warehouse":hdfs:supergroup:drwxr-xr-x at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:205) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:186) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:135) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:4547) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkAncestorAccess(FSNamesystem.java:4518) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirsInternal(FSNamesystem.java:2880) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirsInt(FSNamesystem.java:2844) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:2823) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.mkdirs(NameNodeRpcServer.java:639) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.mkdirs(ClientNamenodeProtocolServerSideTranslatorPB.java:417) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java:44096) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:453) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:898) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1693) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1689) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1332) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1687) ) FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
2.插入数据
LOAD DATA LOCAL INPATH 'disp_20130204_14_disp1.log' OVERWRITE INTO TABLE disp_log_data;
这一句是插入本地文件路径,这条语句表明'disp_20130204_14_disp1.log'这个文件在你执行hive进入hive>当时的路径,当然还是要关心权限问题,当前用户有很多地方不能访问,要将问题置于当前用户可以访问的一个路径下面
LOAD DATA INPATH 'disp_20130204_14_disp1.log' OVERWRITE INTO TABLE disp_log_data;
这一句是导入hdfs的文件路径
FAILED: Error in semantic analysis: Line 1:18 Invalid path ''disp_20130204_14_disp1.log'': No files matching path hdfs://nameservice1/user/hdfs/disp_20130204_14_disp1.log
执行完后会自动转化到hdfs://nameservice1/user/hdfs/disp_20130204_14_disp1.log
相关文章推荐
- hive创建表---并把数据导入表中
- Hive内部表、外部表、分区表以及外部分区表创建以及导入数据实例讲解
- hive笔记-如何创建一张表并将数据导入
- hive 分区partition表 创建 数据导入(动态分区插入、静态分区插入、动静态混合插入)
- 在hive中创建表,关联到hdfs文件路径,而不需导入数据到hive表
- 一起学Hive——创建内部表、外部表、分区表和分桶表及导入数据
- HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令
- 批量导入数据到hive表中:假设我有60张主子表如何批量创建导入数据
- hive数据导入
- Mysql数据库中的创建、删除和数据导入
- sqoop导入数据到关系型数据库到hive
- Hive四种数据导入方式介绍
- 使用Sqoop将Oracle数据导入Hive
- 如何在Hive上建表并导入数据
- 导入数据到hive表中的6种方式
- Oracle 创建表空间 创建用户 授予表空间 授予dba权限 导入dmp数据文件
- hive几种数据导入方式
- (大数据之hive)hive联表查询、创建外部表练习
- 读取hive文件并将数据导入hbase