hive学习笔记1

本文深入探讨Hive SQL的应用,通过WordCount示例解析数据处理技巧,并详解内部表与外部表的区别及操作流程,包括建表、加载数据、分区筛选等关键步骤。

hive学习笔记
1.简单的 wordcount

select word,count(1) from
(
select explode(split(sentence,' ')) as word from t2
) t
group by word;

对t2表中的sentence列进行空格分隔,统计单词出现的数量

select word,count(1) as n from
(
select explode(split(sentence,' ')) as word from t2
) t
group by word
order by n desc;

对单词进行倒序排列,order by只产生一个reduce

2.建表,内部表,外部表

create table t3(sentence string)
partitioned by(dt string) //分区
row format delimited fields terminated by '\n';  //创建内部表
load data local inpath '本地路径' into table t3;  //把本地数据导入内部表

create external  table t2(sentence string)
row format delimited fields terminated by '\n'
stored as textfile
location '/file'; //把hdfs中的file目录下的数据导入外部表

查看表中的分区

show partitions tablename

插入分区数据

insert overwrite table t3 partition(dt='201911')
select * from t2 limit 100;
//把t2中的100行数据插入到t3表中的201911的分区中

分区筛选数据

select * from t3 where dt between '201911' and '201912'
//显示分区在201911和101912间的数据

表的分桶,建立4个桶的表

set hive.enforce.bucketing = true;
create table t1(
user_id int,
item_id string,
rating string
)
clustered by(user_id)
into 4 bucket;

分桶取样1/4

select * from t1 tablesample(bucket 1 out of 4 on user_id);

桶中取样建表t2

create table t2 as select * from t1 tablesample(bucket 1 out of 4 on user_id);
这种做法大大简化了开发过程,提高了开发效率和可靠性。STM32F407VGT6标准库通常包括以下几个核心部分:1. **核心库文件**:这部分包含了所有与微控制器内核相关的基本操作函数。例如,启动代码、系统时钟配置、电源管理、中断处理、调试支持等。2. **硬件抽象层(HAL)**:HAL层是标准库中非常重要的一个部分,它提供了一套统一的API接口,用于访问和控制外设。这意味着开发者可以使用相同的函数接口与不同的硬件外设交互,不必关心底层硬件的细节。3. **设备外设库**:这一部分包含了针对STM32F407VGT6每个具体外设的库文件,如GPIO(通用输入输出)、ADC(模拟数字转换器)、DAC(数字模拟转换器)、定时器、UART(通用异步收发传输器)、I2C、SPI等。4. **中间件**:中间件是一组预先编写的软件组件,它们提供了一些常用功能的实现,比如USB设备、TCP/IP协议栈、文件系统等。使用中间件可以加快开发进度,简化复杂功能的实现。5. **示例代码和项目模板**:为了帮助开发者快速上手,标准库通常会提供一套示例代码和项目模板。这些示例覆盖了各种常见的应用场景,使得开发者可以通过修改和扩展这些示例来满足自己的项目需求。6. **文档和说明**:文档是标准库不可或缺的一部分,它详细描述了每个函数、类库和示例代码的使用方法。好的文档能够帮助开发者快速理解如何操作硬件,以及如何使用库提供的功能。7. **驱动和应用程序接口(API)**:API是软件库与开发者之间的接口,它定义了软件库能够提供的服务和功能。在标准库中,API文档会详细介绍每个函数的参数、返回值、功能描述以及如何正确使用它们。在开发基于STM32F407VGT6的项目时,开发者首先需要根据项目需求进行硬件选型,然后下载和配置相应的标准库。接着,通过集成开发环境(IDE),如Keil MDK-ARM、IAR Embedded Workbench、STM32CubeIDE等,创建项目并引入标准库。在此基础上,编写代码,利用标准库提供的丰富接口进行硬件操作。STM32F407VGT6标准库为开发人员提供了一套完整的开发工具和方法论,从而可以更加专注于业务逻辑的实现和创新,而不是底层硬件细节的处理。通过使用标准库,开发者可以极大地缩短开发周期,提高产品的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值