hadoop@hadoopSlave2:/opt/hadoop/testData$ touch hiveOuter.log hadoop@hadoopSlave2:/opt/hadoop/testData$ vim hiveOuter.log 20140413 jim0 2014-06-06 20140414 jim1 2014-06-06 ... hadoop@hadoopSlave2:/opt/hadoop/testData$ scp -rv hiveOuter.log hadoopMaster:/opt/hadoop/hive/ hadoop@hadoopSlave2:/opt/hadoop/testData$ ssh hadoopMaster hadoop@hadoopMaster:~$ cd /opt/hadoop/hive/ hadoop@hadoopMaster:/opt/hadoop/hive$ hdfs dfs -moveFromLocal /opt/hadoop/hive/hiveOuter.log /user/hive/ hadoop@hadoopMaster:/opt/hadoop/hive$ hdfs dfs -ls -R / -rw-r--r-- 2 hadoop supergroup 2591 2014-06-06 10:00 /user/hive/hiveOuter.log drwxr-xr-x - hadoop supergroup 0 2014-06-06 09:51 /user/hive/warehouse drwxr-xr-x - hadoop supergroup 0 2014-06-06 09:51 /user/hive/warehouse/test1 ... hive> create EXTERNAL table IF NOT EXISTS userOuter (id int,name string, ed string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' location 'hdfs://hadoopMaster:9000/user/hive/warehouse/test1'; OK Time taken: 0.309 seconds hive> show tables; OK userouter Time taken: 0.045 seconds, Fetched: 12 row(s) hive> LOAD DATA INPATH 'hdfs://hadoopMaster:9000/user/hive/warehouse/hiveOuter.log' INTO TABLE userOuter partition(ptDate='20140606'); Loading data to table default.hiveOuter partition (ptdate=20140606) Partition default.testouter{ptdate=20140606} stats: [numFiles=3, numRows=0, totalSize=4312, rawDataSize=0] OK Time taken: 1.153 seconds hive> SELECT * FROM userouter; OK 20140413 jim0 2014-06-06 20140414 jim1 2014-06-06 20140415 jim2 2014-06-06 .... 此时hive将该表的数据文件信息保存到metadata数据库中。 hadoop@hadoopMaster:~$ mysql -uroot -proot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 47 Server version: 5.5.37-0ubuntu0.12.04.1 (Ubuntu) Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | hiveDB | | mysql | | performance_schema | | schools | +--------------------+ 5 rows in set (0.00 sec) mysql> use hiveDB; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed 可以看到该表的类型为EXTERNAL_TABLE。 mysql> SELECT * FROM TBLS WHERE TBL_NAME = 'userouter'; +--------+-------------+-------+------------------+--------+-----------+-------+-----------+----------------+--------------------+--------------------+ | TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER | RETENTION | SD_ID | TBL_NAME | TBL_TYPE | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT | +--------+-------------+-------+------------------+--------+-----------+-------+-----------+----------------+--------------------+--------------------+ | 25 | 1402020143 | 1 | 0 | hadoop | 0 | 26 | userouter | EXTERNAL_TABLE | NULL | NULL | +--------+-------------+-------+------------------+--------+-----------+-------+-----------+----------------+--------------------+--------------------+ 1 row in set (0.00 sec) 在表SDS中记录了表userouter的数据文件路径为hdfs://hadoopMaster:9000/user/hive/warehouse/test1。 mysql> SELECT * FROM SDS WHERE SD_ID=25; +-------+-------+------------------------------------------+---------------+---------------------------+----------------------------------------------------+-------------+------------------------------------------------------------+----------+ | SD_ID | CD_ID | INPUT_FORMAT | IS_COMPRESSED | IS_STOREDASSUBDIRECTORIES | LOCATION | NUM_BUCKETS | OUTPUT_FORMAT | SERDE_ID | +-------+-------+------------------------------------------+---------------+---------------------------+----------------------------------------------------+-------------+------------------------------------------------------------+----------+ | 25 | 24 | org.apache.hadoop.mapred.TextInputFormat | | | hdfs://hadoopMaster:9000/user/hive/warehouse/test1 | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 25 | +-------+-------+------------------------------------------+---------------+---------------------------+----------------------------------------------------+-------------+------------------------------------------------------------+----------+ 1 row in set (0.00 sec)
相关推荐
创建表时使用关键字external创建的表就是外部表,没有使用该关键字创建的表就是内部表。 删除表时(drop table)内部表会删除hdfs对应路径,而外部表不会删除hdfs对应的路径, 删除表无论是内部表和外部表都会删除元...
在数据集目录中选取2个数据文件内部表创建表,选取2个数据文件创建外部表。 使用美国疫情数据创建分区表 疫情数据实现静态和动态加载数据到分区表 自己构建疫情数据实现多重分区表 使用美国疫情数据实现桶表 修改...
hive双分区外部表复合数据结构博客的数据资料,欢迎下载。
hive 创建表语法使用等
SparkSQL通过Hive创建DataFrame问题分析 问题一 Caused by: org.apache.spark.sql.catalyst.analysis.NoSuchTableException: Table or view 'stu' not found in database 'default'; 分析:确实没有临时表View,...
Hive表生成工具,Hive表生成工具Hive表生成工具
支持hive 源数据、表结构导出
前言: 所谓外部表,就是Hive并非认为其完全拥有这份数据。...如果需要创建外部表则需要在创表的语句指定为external,如:create external table table_name。 案例: 1.管理表 我现在有一份名为student.
hive表修改分区数据
Hive表分区,里面有比较详细的Hive表分区方法,希望能够有所帮助。
3 Hive创建/删除数据库 3 3.1创建数据库: 3 3.2 删除数据库: 3 4 Hive 表相关语句 3 4.1 Hive 建表: 3 4.1.1使用LIKE关键字创建一个与已有表模式相同的新表: 4 4.2 Hive 修改表 4 4.2.1 Hive 新增一个字段: 4 ...
通过shell脚本,批量把一个库下面的表结构全部导出,在开发环境执行过。
1.可根据数据库表名批量删除; 2.封装了自定义方法,可根据表明中任意一字段(或多个字段)作为key批量删除 3.解决了权限不足等问题造成的删表不彻底等问题 4.程序为java编写
hive生成日历表.sql
背景:由于Hive需要开启权限管理,安装网上教程,开启权限配置,重启集群后。 使用root用户登录,进入Hive命令行界面。 执行 create database test; 发现报错: Authorization failed:No privilege 'Create' found ...
适用人群:hive学习童鞋,hive方面从业人员 从hive的搭建 到 hive的分区表/内部表/外部表/分桶等sql讲解
hive的表数据,可以到我的博客,有建表语句,我的链接是 https://blog.csdn.net/qq_43662627/article/details/121033176
根据excel中表的字段清单,批量生成建表语句; 打开工具,按格式填入表名、字段、类型等内容,点击“视图”-->“宏”-->“查看宏”-->“执行”
Hive内部表合并小文件Java程序