MySQL和hive建表区别,Hive中創建表(hive的使用和MySQL的使用很相似)-程序员宅基地

技术标签: MySQL和hive建表区别  

CREATE TABLE語句

(不區分大小寫)

Create Table是用於在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表,下表列出了employee表中的字段和數據類型:

af0e99c3555cd57e491826c8cbefc8d3.png

創建表的語句如下:hive> 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;

成功創建表后,能看到以下回應:OK

Time taken: 5.905 seconds

hive>

JDBC 程序

以下是使用JDBC程序來創建表的一個例子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();

}

}

將該程序保存在一個名為HiveCreateTb.java文件中。下面的命令用於編譯和執行這個程序。$javac HiveCreateDb.java

$java HiveCreateDb

輸出Table employee created.

LOAD DATA語句

加載數據到hive表中

一般來說,在SQL創建表后,我們就可以使用INSERT語句插入數據。但在Hive中,可以使用 load data 語句插入數據。

同時將數據插入到Hive,最好是使用 load data 來存儲大量記錄。

有兩種方法用來加載數據:

一種是從本地文件系統把數據load進hive某張表中。

第二種是從Hadoop文件系統把數據加載到hive表中。

語法

加載數據的語法如下:LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename

[PARTITION (partcol1=val1, partcol2=val2 ...)]

LOCAL是標識符指定本地路徑。它是可選的。

OVERWRITE 是可選的,覆蓋表中的數據。

PARTITION 這是可選的

示例

我們將插入下面的數據到表中。在/home/user目錄中新建名為sample.txt的文件,把下面的數據寫進去。1201 Gopal 45000 Technical manager

1202 Manisha 45000 Proof reader

1203 Masthanvali 40000 Technical writer

1204 Kiran 40000 Hr Admin

1205 Kranthi 30000 Op Admin

下面的語句就是 load 本地文本到hive表中。hive> LOAD DATA LOCAL INPATH '/home/user/sample.txt'

> OVERWRITE INTO TABLE employee;

load 成功完成,能看到以下回應:OK

Time taken: 15.905 seconds

hive>

JDBC 程序

下面給出的是使用Java程序將本地的數據加載到表中。import java.sql.SQLException;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.Statement;

import java.sql.DriverManager;

public class HiveLoadData {

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("LOAD DATA LOCAL INPATH '/home/user/sample.txt'" + "OVERWRITE INTO TABLE employee;");

System.out.println("Load Data into employee successful");

con.close();

}

}

將該程序保存在一個名為HiveLoadData.java的文件中。使用下面的命令來編譯和執行這個程序。$javac HiveLoadData.java

$java HiveLoadData

輸出:Load Data into employee successful

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_31897613/article/details/116120085

智能推荐

python 读取鼠标选中文本_送书 | 选择文本的神技-程序员宅基地

文章浏览阅读1.5k次。“欢迎关注【雷哥office】,为了回馈粉丝,最近几个月每周都会有送书活动,想要书的朋友不要错过哦~本周第二弹福利, 详情见文末”1使用鼠标⑴选中区域。将鼠标光标放在要选择的文本的开始位置,按住鼠标左键并拖曳,这时选中的文本会以阴影的形式显示,选择完成后,释放鼠标左键,鼠标光标经过的文字就被选定了。⑵选中词语。将鼠标光标移动到某个词语或单词中间,双击鼠标左键即可选中该词语或单词。⑶..._python获取鼠标选取的内容

Bootloader工作流程、MCU启动流程-程序员宅基地

文章浏览阅读1.6k次。https://www.csdn.net/tags/MtTaMg3sNjI1MTk4LWJsb2cO0O0O.html【2.0】bootloader工作流程、MCU启动流程_夜色稠的博客-程序员宅基地_mcu启动流程stm32程序跑飞_详解 | MCU上电到启动应用程序前的工作流程_weixin_39946657的博客-程序员宅基地STM32F0单片机快速入门三 MCU启动过程_TopSemic嵌入式的博客-程序员宅基地M3的MCU的启动过程_jacklondonjia的博客-CSD..._mcu启动流程

Linux Centos系统安装LibreOffice_centos 安装 libreoffice-程序员宅基地

文章浏览阅读1.3k次,点赞8次,收藏12次。官网安装指南:官网首页帮助与支持——>安装指南——>选择你自己系统的点击进入。译文:不凭空臆测,不武断绝对,不固执拘泥,不自以为是。2、centos系统:作者使用7+版本。下载好的安装包,选择系统匹配的安装包。centos系统根目录opt文件夹下。原文:勿意、勿必、勿固、勿我。_centos 安装 libreoffice

#list 标签获取下标_<#list>-程序员宅基地

文章浏览阅读5.3k次。<#list>标签<#list>能是CMS里面的标签。<#list>获取下标,怎么获取下标 ${c_index}获取下标 例子: [#list tag_list as c] ======> ${c_index} [#list tag_list as a] ======> ${a_index}代码例子:<div class="tabs fn-clear"> [@cms_conten_<#list>

Python可视化matplotlib&seborn14-普通热力图heatmap_python matplotlib 热力图浅色-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏21次。详细介绍python seaborn绘制热图。_python matplotlib 热力图浅色

最好的产品经理社区或者讨论圈有哪几个?_软件产品经理交流社区-程序员宅基地

文章浏览阅读1.8k次。本文将从社区、公众号(产品分析、深度互联网评论)、大佬博客、科技媒体、豆瓣书单等多个方面来阐述目前国内产品经理最好的一些讨论圈和内容,欢迎收藏~产品社区人人都是产品经理官网: http://www.woshipm.com“人人都是产品经理”应该是产品经理日常逛得最多的垂直社区,它里面的内容也主要以产品和运营为主,很多知名的产品经理KOL都会在上面发布文章。职景的学员也经常会把自己的产品分析报告上传发布到“人人都是产品经理”上。这中间也有一些有趣的事,比如两个人上传同一篇文章,只是因为排版格式的_软件产品经理交流社区

随便推点

DM大规模并行处理MPP_dm mpp-程序员宅基地

文章浏览阅读316次。DM大规模并行处理MPP_dm mpp

FreeScale-SD-5舵机中值-程序员宅基地

文章浏览阅读9.6k次,点赞14次,收藏81次。SD-5舵机 舵机中值求取_舵机中值

【VSCode】在Linux下使用VSCode编译调试C/C++环境配置(使用g++作为编译器)_vscode远程登陆linux中运行调试attach to chrome怎么改成build g++-程序员宅基地

文章浏览阅读4k次,点赞5次,收藏29次。【VSCode】在Linux下使用VSCode编译调试C/C++环境配置(使用g++作为编译器)一、安装必要插件二、编译运行程序三、调试环境配置四、调试参考链接1: https://blog.csdn.net/ii0789789789/article/details/95026208.参考链接2: https://blog.csdn.net/qq_37968132/article/detai..._vscode远程登陆linux中运行调试attach to chrome怎么改成build g++

树莓派养成之路 ——esp-01智能开关2(硬件篇)_esp-01原理图-程序员宅基地

文章浏览阅读4.1k次,点赞3次,收藏14次。树莓派养成之路 ——esp-01智能开关2(硬件篇)很久没更新了,继续esp智能开关。本文讲述esp-01智能开关的硬件和原理图(PS:本人不是电子专业,只是开了头不得不去搞,如有误请多包含)硬件材料 设备 价格 esp8266-01 11元 220V转3.3v模块 5元 5V继电器(低电平触发) 8元 洞洞板 1元..._esp-01原理图

JavaScript 禁止鼠标选择事件_js 禁止元素鼠标可用-程序员宅基地

文章浏览阅读1.4k次。1、这是通过CSS样式来实现的禁止用鼠标选择功能:unselectable为IE准备onselectstart为Chrome、Safari准备-moz-user-select是FF的css style:html,body{-moz-user-select: none; -khtml-user-select: none; user-select: none;}2、或者使用下面的方法<div unselectable="on" onselectstart="return false;" s_js 禁止元素鼠标可用

ESP32的学习之路(一),基本知识介绍和了解_esp32工作电压-程序员宅基地

文章浏览阅读4.2w次,点赞25次,收藏206次。(一)ESP32麻雀虽小,但也五脏俱全ESP32是Espressif乐鑫信息科技推出的一块WiFi芯片。拥有40nm工艺、双核32位MCU、2.4GHz双模Wi-Fi和蓝牙芯片、主频高达230MHz,计算能力可达600DMIPS。-涵盖精细分辨时钟门控、省电模式和动态电压调整等特征。-它集成了天线和射频巴伦,功率放大器,低噪声放大器,滤波器和电源管理模块等元器件,性能稳定,易于制造,工作温度范围从-40℃到125℃。-支持多种通信协议,如:I2C. I2S. SPI. UART. CAN_esp32工作电压

推荐文章

热门文章

相关标签