hive读取orc文件行数

hive读取orc文件行数,第1张

hive读取orc文件行数:避免全分区字段是动态的,必须有至少一个分区字段是指定有值的。

Hive的insert语句能够从查询语句中获取数据,并同时将数据Load到目标表中。现在假定有一个已有数据的表staged_employees(雇员信息全量表),所属国家cnty和所属州st是该表的两个属性,我们做个试验将该表中的数据查询出来插入到另一个表employe。

ENT:按ENTER键一下:

\^:代表CTRL键,如要按组合键如CTRL+S:\^S;(其他如此类推)。

\%:代表ALT键,如要按组合键如ALT+F:\%F;(其他如此类推)。

\{}:代表按下键盘上功能键,之于要什么功能键就在{}中写,如要按F1键:\{F1};向下的箭头键:\{DOWN};(其他如此类推)。

\^{F4}:代表按下Ctrl+F4键。

ML(684,120):代表按下鼠标左键,括号中的数字代表鼠标在屏幕上的坐标;(注:我们可以在主窗口把鼠标的位置放好,然后通过ALT+TAB键的 *** 作切换到DATALOAD的窗口按下+M+L就可以比较精确地定位鼠标)。

查看表结构信息如下

1、descformattedtable_name;

2、desctable_name。

一、电脑常见问题

主板不启动,开机无显示,有显卡报警声。

故障原因:一般是显卡松动或显卡损坏。

处理办法:打开机箱,把显卡重新插好即可。要检查AGP插槽内是否有小异物,否则会使显卡不能插接到位;对于使用语音报警的主板,应仔细辨别语音提示的内容,再根据内容解决相应故障。

如果以上办法处理后还报警,就可能是显卡的芯片坏了,更换或修理显卡。如果开机后听到"嘀"的一声自检通过,显示器正常但就是没有图像,把该显卡插在其他主板上,使用正常,那就是显卡与主板不兼容,应该更换显卡。

一个公司里面不同项目可能用到不同的数据源,有的存在MySQL里面,又的存在MongoDB里面,甚至还有些要做第三方数据。

但是现在又想把数据整合起来,进行 数据分析 。此时数据仓库(Data Warehouse,DW)就派上用场了。它可以对多种业务数据进行筛选和整合,可以用于数据分析、数据挖掘、数据报表。

总的来说,数据仓库是将多个数据源的数据按照一定的 主题 集成起来,因为之前的数据各不相同,所以需要 抽取、清洗、转换

整合以后的数据不允许随便修改,只能分析,还需要定期更新。

上面我们说过,数据仓库接收的数据源是不同的,要做集成的话,需要 抽取、清洗、转换 三个步骤,这就是 ETL (Extract-Transform-Load)

国内最常用的是一款基于Hadoop的开源数据仓库,名为 Hive ,它可以对存储在 HDFS文件数据进行 查询、分析

Hive对外可以提供HiveQL,这是类似于SQL语言的一种查询语言。在查询时可以将HiveQL语句转换为 MapReduce 任务,在Hadoop层进行执行。

Hive的最大优势在于 免费 ,那其他知名的商业数据仓库有那些呢?比如Oracle,DB2,其中业界老大是 Teradata

Teradata数据仓库支持大规模并行处理平台(MPP),可以高速处理海量实际上,性能远远高于Hive。对企业来说,只需要专注于业务,节省管理技术方面的精力,实现ROI(投资回报率)最大化。

上面提到了Hive是最著名的开源数据仓库,它是Hadoop生态中一个重要的组件。

Hadoop的生态中,HDFS解决了分布式存储的问题,MapReduce解决了分布式计算的问题,而HBASE则提供了一种NoSQL的存储方法。

但是如果需要的HDFS上的文件或者HBASE的表进行查询,需要自定义MapReduce方法。那么Hive其实就是在HDFS上面的一个中间层,它可以让业务人员直接使用SQL进行查询。

所以Hive是用进行数据提取转换加载的,而且它可以把SQL转换为MapReduce任务,而Hive的表就是HDFS的目录或者文件。

上图为Hive的体系结构

Hive主要包含以下几种数据模型:

本文为 什么是数据仓库? 的笔记

语法

(1)load data:表示加载数据

(2)local:表示从本地加载数据到hive表;否则从HDFS加载数据到hive表

(3)inpath:表示加载数据的路径

(4)overwrite:表示覆盖表中已有数据,否则表示追加

(5)into table:表示加载到哪张表

(6)student:表示具体的表

(7)partition:表示上传到指定分区

案例

 2)导入本地数据

 3)查看person表数据

 2)清空 person表数据; truncate table person;

 3)查看person表清空情况(已经没有数据了)

 4)导入 HDFS 数据到 person表中

 5)重新查询 person表,查看数据情况

 2) 导入HDFS,无需添加 local

 3) row format delimited fields terminated by '\t' ;

语法:insert into <table> <表名> <查询语句>

案例:

创建一张新表:create table if not exists person2(id int,name string,phone string);

将 person 表中id 为 1和3的数据插入到 person2表中。

查询person2表数据

方式二:into overwrite

语法:insert overwrite table <表名> <查询语句>

测试之前重新准备一张表

向 person6 表中添加数据。

数据结果

注意:使用 insert overwrite 后面必须加上 table ,否则报错

注意

语法 :create table [if not exists] <表名> as <查询语句>

描述 :根据查询结果创建表(查询的结果会添加到新创建的表中)

案例

按照person表的结果创建person3表

查询 person3

注意:使用查询结果创建数据表时,需要加入 关键字

管理表

语法 :create table [if not exists] <表名>(字段信息) row format delimited fields terminated by <分割符>location <加载数据路径>

案例 :加载person 表的数据。

查询 person 数据加载的地址

创建 person4 表并设置 person表的数据路径。

查询 person4 表信息;person4中的表数据全部来自于person表。

外部表

创建一个管理表 t1

向管理表t1中添加一条数据

创建t2 并指定t1数据的加载地址

查询 t2 表

删除 t1 表

再次查询 t2 表

验证 t1 为外部表时,删除t1表时,是否会删除数据。

重新创建 t1表

向t1中添加数据3

创建 t2(原来的给删除了)并指定为外部表,并加载 t1的数据路径

查询 t1 表结构(验证是否为外部表

查询 t2 数据(有数据2)

删除t1 表

查询 t2 表(数据并没有删除)

更加深刻理解 管理表和外部表之间的区别。

语法 :import table <全新的表名> from '<Export 导出的地址>';

查询 person_import 表

查看家目录,生成了 一个 aaa目录,目录中有一个 000000_0 文件

查看 000000_0文件;正好是 person表中的数据。

注意:这里的 overwrite 并不是可选项(可加不可加),这里必须加上overwrite ,否则会报错。

查看 000000_0文件;使用了制表符,对数据进行格式化。

查看 /aaa/000000_0 文件

查看person_bak 文件

语法 :hive -e "<sql语句>" > <输出路径>

案例

查看家目录中的 person_bak

语法 :export table <表名> to '<HDFS地址>'

案例 :将 person 表的数据导出到 HDFS /person2中

查看 /person2 的层次结构

查看 /person2/data/person

以上就是关于hive读取orc文件行数全部的内容,包括:hive读取orc文件行数、在hive数据库中怎么查看表结构(hive查看数据库中的表)、数据仓库Hive等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9748966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存