大数据学习笔记-------------------(23)

本章节详细介绍了Hive中数据表的操作,包括创建数据表、通过load data插入数据、使用ALTER TABLE修改表以及DROP TABLE删除表。创建数据表时,展示了CREATE TABLE语句的使用,以及JDBC程序实现。在数据加载部分,讨论了load data的两种方式。修改数据表涵盖了重命名、改变列名和类型、添加列以及替换列的完整过程。最后,阐述了删除表的DROP TABLE语句及其在JDBC中的应用。
摘要由CSDN通过智能技术生成

第23章数据表操作

23.1创建数据表

创建数据表和在表中插入数据。HIVE创建数据表的语法和SQL创建数据表非常类似。

23.1.1 创建数据表

HIVE创建数据表的语句如下:

CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.] table_name 
[(col_name data_type [COMMENT col_comment], ...)] 
[COMMENT table_comment] 
[ROW FORMAT row_format] 
[STORED AS file_format]

Ø  例子

 用create table语法创建一个名为employee的table。在employee的table中的列名与数据类型:


如下数据是一个注释,行格式化字段,如字段终止符、行终止符和存储文件类型:

COMMENT 'Employee details'
FIELDS TERMINATED BY '\t' 
LINES TERMINATED BY '\n'
STORED IN TEXT FILE

创建一个包含如上表格数据的数据表,表名为employee:

CREATE TABLE IF NOT EXISTS employee ( eid int, name String, 
salary String, destination String) 
COMMENT 'Employee details'
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;

如果添加选项"if not exists",Hive会在表已经存在的情况下忽略语句。一旦创建表成功,会获取到如下响应:

     

23.1.2 JDBC程序

保存代码到文件HiveCreateTable.java中。用如下命令进行编译和执行代码:

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;
public class HiveCreateTable
{
	private static String driverName ="org.apache.hadoop.hive.jdbc.HiveDriver";
	public static void main(String[] args) throws SQLException
	{
		// Register driver and create driver instance
		Class.forName(driverName);
		// get connection
		Connection con = DriverManager.
		getConnection("jdbc:hive://localhost:10000/userdb", "", "");
		// create statement
		Statement stmt = con.createStatement();
		// execute statement
		stmt.executeQuery("CREATE TABLE IF NOT EXISTS "
			+" employee ( eid int, name String, "
			+" salary String, destignation String)"
			+" COMMENT ‘Employee details’"
			+" ROW FORMAT DELIMITED"
			+" FIELDS TERMINATED BY ‘\t’"
			+" LINES TERMINATED BY ‘\n’"
			+" STORED AS TEXTFILE;");
		System.out.println(“ Table employee created.”);
		con.close();
	}
}

javac HiveCreateTable.java

java HiveCreateTable

输出:Table employeecreated.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WEL测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值