hive外部表创建文件 test_external.txt
时间: 2023-11-11 10:05:08 浏览: 88
创建外部表的语法如下:
```
CREATE EXTERNAL TABLE table_name(
col1 data_type,
col2 data_type,
...
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LOCATION 'hdfs://path/to/directory';
```
其中,`table_name` 是表名,`col1`, `col2` 是列名和列的数据类型,`ROW FORMAT DELIMITED` 表示使用分隔符进行行分隔,`FIELDS TERMINATED BY '\t'` 表示列之间使用制表符 `\t` 进行分隔,`LOCATION` 指定外部表的存储路径。
假设有一个名为 `test_external.txt` 的文件,存放在 HDFS 的 `/user/hive/external/` 目录下,可以使用以下语句创建外部表:
```
CREATE EXTERNAL TABLE test_external(
col1 string,
col2 int
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LOCATION '/user/hive/external/';
```
注意,外部表只是对数据的一种映射,不会在 HDFS 上创建任何文件或目录,而是直接读取指定路径下的数据文件。因此,在使用外部表之前,需要先在 HDFS 上创建相应的数据文件。
相关问题
四、 在数据库hive_database中创建外部表external_test,该表的结构要求如下: 1. 要求数据文件存储位置为/test/hive/external_test。 2. 该表包含5个列,数据类型分别为STRING、INT、FLOAT、ARRAY和MAP,并自定义列
的名称。创建外部表的DDL语句如下:
```
CREATE EXTERNAL TABLE hive_database.external_test (
column1 STRING,
column2 INT,
column3 FLOAT,
column4 ARRAY<INT>,
column5 MAP<STRING, INT>
)
LOCATION '/test/hive/external_test';
```
这个语句会在Hive中的hive_database数据库中创建一个名为external_test的外部表,表中包含5个列,分别为column1、column2、column3、column4和column5。其中,column1的数据类型为STRING,column2的数据类型为INT,column3的数据类型为FLOAT,column4的数据类型为INT数组,column5的数据类型为STRING到INT的映射。数据文件存储位置为/test/hive/external_test。
据数据集中hive_test.csv创建外部表hive_test,创建数据表时指定存储位置为:“/usr/hive_test/你姓名全拼/hive_test”,设置数据表属性(“creator”=“你的名字”,“date”=“2023-06-10”,并根据创建的表完成查看和修改操作
好的,我来解答你的问题。首先,你可以按照以下步骤创建外部表 `hive_test`,并设置属性:
```sql
CREATE EXTERNAL hive_test (
col1 INT,
col2 STRING,
col3 DOUBLE
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/usr/hive_test/你姓名全拼/hive_test'
TBLPROPERTIES('creator'='你的名字', 'date'='2023-06-10');
```
其中,`ROW FORMAT DELIMITED FIELDS TERMINATED BY ','` 指定了数据的分隔符为逗号。`LOCATION` 指定了表的存储位置。`TBLPROPERTIES` 设置了表的属性。这里需要将 `/usr/hive_test/你姓名全拼/hive_test` 中的 `你姓名全拼` 替换为你的姓名全拼。
接下来,你可以使用以下命令查看表的结构:
```sql
DESCRIBE hive_test;
```
你可以使用以下命令修改表的属性:
```sql
ALTER TABLE hive_test SET TBLPROPERTIES('creator'='新的名字');
```
其中,`'creator'='新的名字'` 将表的 `creator` 属性修改为了 `新的名字`。
希望我的回答能够帮助到你。
阅读全文