hive学习笔记之一:基本数据类型,java实现分页技术详解

HarmonyOS学习 2021-11-25 18:30:02
java 面试 编程语言 后端开发

  • 《hive学习笔记》系列保持了作者一贯的风格,即通过实战学习和了解;

  • 作为一个构建在Hadoop上的数据仓库框架,hive被用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制,hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。(来自:《Hadoop应用开发实战详解(修订版)》)

  • 架构如下,可见最终还是在执行MapReduce:

hive学习笔记之一:基本数据类型,java实现分页技术详解_面试

 环境信息

本文对应的环境信息如下:

  1. CentOS Linux release 7.5.1804

  2. JDK:1.8.0_191

  3. hadoop:2.7.7

  4. hive:1.2.2

 关于hive的部署

  1. 需要先部署hadoop环境,请参考 《Linux部署hadoop2.7.7集群》

  2. hadoop部署成功后,安装和体验hive其参考 《安装和体验hive》

 数据类型简介

Hive支持基本和复杂数据类型:

  • 基本数据类型:包括数值型、布尔型、字符串类型和时间戳类型;

  • 复杂数据类型:数组、映射、结构;

 基本数据类型

  • 通过思维导图来分类和理解:

hive学习笔记之一:基本数据类型,java实现分页技术详解_后端开发_02

  • 下面通过列表说明所有的基本数据类型:

| 类型 | 描述 | 示例 |

| — | — | — |

| BOOLEAN | true/false | TRUE |

| TINYINT | 1字节有符号整数,从-128到127 | 1Y |

| SMALLINT | 2字节有符号整数,从-32768到32767 | 1S |

| INT | 4字节有符号整数,从-2147483648到2147483647 | 1 |

| BIGINT | 8字节有符号整数,

从-9223372036854775808到9223372036854775807 | 1L |

| FLOAT | 4字节单精度浮点数 | 1.0 |

| DOUBLE | 8字节(64位)双精度浮点数 | 1.0 |

| DECIMAL | 任意精度有符号小数 | 1.0 |

| STRING | 无上限可变长度字符串 | ‘a’, “a” |

| VARCHAR | 可变长度字符串 | ‘a’, “a” |

| CHAR | 固定长度字符串 | ‘a’, “a” |

| BINARY | 字节数组 | - |

| TIMESTAMP | 精度到纳秒的时间戳 | ‘2020-03-01 00:00:00’ |

| DATE | 日期 | ‘2020-01-01’ |

 关于三种字符串类型

  1. STRING,变长,无需最大长度声明,理论上能存储2GB字符;

  2. VARCHAR,变长,需要声明最大长度(1到65535之间),例如VARCHAR(100);

  3. CHAR,定长,如CHAR(100);

 常用类型综合实战

  1. 启动hive,进入交互模式,执行以下语句建表,字段类型是常用的几种:

create table t1(

int_field INT,

string_field STRING,

boolean_field BOOLEAN,

date_field DATE,

timestamp_field TIMESTAMP

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t’

STORED AS TEXTFILE;

  1. 用insert语句新增一条记录:

insert into t1

values

(101, ‘a101’, true, ‘2020-01-01’, ‘2020-03-01 00:00:00’);

  1. 使用函数,在新增的记录的时候,将timestamp_field字段设置为当前时间,注意和前面的insert语句比较一下,使用函数时必须用到select XXX from XXX limit 1这样的语法:

insert into t1

select

103, ‘a103’, true, ‘2020-01-01’, current_timestamp()

from t1 limit 1;

  1. 看一下新增的两条记录:

hive> select * from t1;

OK

101 a101 true 2020-01-01 2020-03-01 00:00:00

103 a103 true 2020-01-01 2020-10-27 20:42:35.729

Time taken: 0.062 seconds, Fetched: 2 row(s)

  1. 查看当前时间:

select unix_timestamp();

响应:

hive> select unix_timestamp();

OK

1603802631

Time taken: 0.028 seconds, Fetched: 1 row(s)

  1. 将DATE字段转为TIMESTAMP:

select cast(date_field as timestamp) from t1;

响应:

hive> select cast(date_field as timestamp) from t1;

OK

2020-01-01 00:00:00

2020-01-01 00:00:00

Time taken: 0.051 seconds, Fetched: 2 row(s)

总结

我个人认为,如果你想靠着背面试题来获得心仪的offer,用癞蛤蟆想吃天鹅肉形容完全不过分。想必大家能感受到面试越来越难,想找到心仪的工作也是越来越难,高薪工作羡慕不来,却又对自己目前的薪资不太满意,工作几年甚至连一个应届生的薪资都比不上,终究是错付了,错付了自己没有去提升技术。

这些面试题分享给大家的目的,其实是希望大家通过大厂面试题分析自己的技术栈,给自己梳理一个更加明确的学习方向,当你准备好去面试大厂,你心里有底,大概知道面试官会问多广,多深,避免面试的时候一问三不知。

大家可以把Java基础,JVM,并发编程,MySQL,Redis,Spring,Spring cloud等等做一个知识总结以及延伸,再去进行操作,不然光记是学不会的,这里我也提供一些脑图分享给大家:

hive学习笔记之一:基本数据类型,java实现分页技术详解_后端开发_03

hive学习笔记之一:基本数据类型,java实现分页技术详解_Java_04

hive学习笔记之一:基本数据类型,java实现分页技术详解_Java_05

希望你看完这篇文章后,不要犹豫,抓紧学习,复习知识,准备在明年的金三银四拿到心仪的offer,加油,打工人!

本文已被 CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

版权声明
本文为[HarmonyOS学习]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_15438507/4690474

  1. Java经典面试题详解,突围金九银十面试季(附详细答案,mysql集群架构部署方案
  2. java整理,java高级特性编程及实战第一章
  3. java教程——反射,mongodb下载教程
  4. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day12,zookeeper原理作用
  5. Java后端互联网500道中高级面试题(含答案),linux钩子技术
  6. java8 Stream API及常用方法,java初级程序员面试
  7. java-集合-Map(双列)——迪迦重制版,2021Java开发社招面试解答之性能优化
  8. Flink处理函数实战之二:ProcessFunction类,java线程面试题目
  9. flex 布局详解,【Java面试题
  10. Linux basic command learning
  11. Why did docker lose to kubernetes? Docker employee readme!
  12. MySQL安装
  13. Elastic Search Aggregate Learning five: Problem Analysis of Uncertainty of sequencing results, Alibaba Java Performance Tuning Practical
  14. Installing, configuring, starting and accessing rabbitmq under Linux
  15. Oracle SQL injection summary
  16. Installation MySQL
  17. L'exposition à la photo d'essai sur la route i7 du nouveau vaisseau amiral de BMW Pure Electric a également été comparée à celle de Xiaopeng p7.
  18. spring JTA 关于异常处理的时机问题
  19. Le problème du temps de traitement des exceptions dans la JTA printanière
  20. Flink Handling Function Real War II: processfunction class, Java thread interview subject
  21. Oracle SQL injection summary
  22. [Java data structure] you must master the classic example of linked list interview (with super detailed illustration and code)
  23. Do you really know MySQL order by
  24. Record a java reference passing problem
  25. spring JTA 關於异常處理的時機問題
  26. Java - Set - Map (double file) - dija Rewriting, 2021 Java Developer's Performance Optimization
  27. Android入门教程 | OkHttp + Retrofit 取消请求的方法
  28. Java 8 Stream API and common methods, Java Junior Program interview
  29. Github 疯传!史上最强!BAT 大佬,2021年最新Java大厂面试笔试题分享
  30. git(3)Git 分支,zookeeper下载教程
  31. Java Backend Internet 500 questions d'entrevue moyennes et avancées (y compris les réponses), technologie de crochet Linux
  32. Entretien d'entretien d'usine Java post sprint de 100 jours - accumulation de jours et de mois, trois questions par jour [jour 12, fonction de principe de Zookeeper
  33. Tutoriel Java - reflection, tutoriel de téléchargement mongodb
  34. How to analyze several common key and hot issues in redis from multiple dimensions
  35. GIT (3) GIT Branch, Zookeeper Download tutoriel
  36. Tutoriel de démarrage Android | okhttp + Retrofit comment annuler une demande
  37. Design pattern [3.3] - Interpretation of cglib dynamic agent source code
  38. Share the actual operation of private collection project nodejs backend + Vue + Mysql to build a management system
  39. Springboot has 44 application initiators
  40. GitHub上霸榜久居不下的《Java面试突击宝典》,java图形用户界面设计基础
  41. GitHub上访问下载破百万的神仙文档《Java面试神技》看完我呆了,java面试问项目中遇到的问题
  42. GitHub上标星75k 超牛的《Java面试突击版,java高级工程师技能
  43. GitHub上标星2,java项目开发实训教程
  44. Docker development environment Preview
  45. JavaScript高級深入淺出:掌握 this 指向
  46. JavaScript Advanced Insight and outside: Mastering this direction
  47. Vue de l'application pratique de Javascript, drop drag Event
  48. docker 安装部署 Jenkins 2.322
  49. kafka安装
  50. 近九万字图文详解RabbitMQ
  51. Engaged in Java for one and a half years, how to break through yourself
  52. 输出9*9乘法表----java
  53. 判断一个数是不是素数-------java
  54. java项目,记录页面修改值,内部打“官司”用
  55. Docker installation Deployment Jenkins 2.322
  56. Comment porter un pantalon en hiver? Les petits hommes, les jambes épaisses et la largeur de l'entrejambe peuvent être vus. 3 techniques pour éviter la foudre
  57. MySQL下载和安装教程
  58. In depth analysis of rocketmq source code - message storage module
  59. Spring transaction management
  60. mysql恢复ibd数据,为何频频报错?