【无标题】

20220405 java学习第二天

标识符

1.关键字
abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile

J a v a 所 有 的 组 成 部 分 都 需 要 名 字 。 类 名 , 变 量 名 以 及 方 法 名 都 被 称 为 标 识 符 \color {red} {Java所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符} Java

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始
  • 首字符之后可以是字母(A-Z或者a-z),美元符($),或者下划线(_)或数字的任何字符组合
  • 不能使用关键字作为变量名或方法名
  • 标识符是大小写敏感的
  • 合法标识符举例:age、$salary、_value、_1_value
  • 非法标识符举例:123abc、-salary、#abc

可 以 使 用 中 文 命 名 , 但 是 一 般 不 建 议 这 样 去 使 用 , 也 不 建 议 使 用 拼 音 \color{red}{可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音} 使使使

数据类型

强类型语言
  • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
  • 弱类型语言
Java的数据类型分为两类
  • 基本类型(primitive type)
  • 引用类型(reference type)
基本数据类型
1.数值类型

整数类型:

  • byte占1个字节范围:-128~127(2^7)
  • short占2个字节范围:-32768~32767(2^15)
  • int占4个字节范围:-2147483648~2147483647(2^31)
  • long占8个字节范围:(2^63)
    浮点类型:
  • float占4个字节
  • double占8个字节
2.boolean类型:占1位,只有true和false
引用数据类型
  • 接口

  • 数组

    什么是字节
  • 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数;
    - 字节(byte):是计算机中数据处理的基本单位,用B表示;
    - 1B(byte,字节)= 8bit;
    - 字符:指计算机中使用的字母、数字、字和符号。

- 1bit表示1位
- 1Byte表示一个字节 1B=8b
- 1024B=1KB
- 1024KB=1M
- 1024M=1G

什么是Hadoop

  • 一个分布式系统基础架构,有Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。
    包括:
  • Distributed File System(HDFS)
  • YARN
  • MapReduce
    官网:http://hadoop.apache.org/
    对于Apache的顶级项目来说, projectname.apache.org
    • Hadoop:hadoop.apache.org

    • hive:hive.apache.org

    • spark:spark.apache.org

    • Hbase:hbase.apache.org

      狭义Hadoop VS 广义Hadoop

      • 狭义的Hadoop:是一个适合大数据分布式存储(HDFS)、分布式 计算(MapReduce)和资源调度(YARN)的平台
      • 广义的Hadoop:Hadoop生态系统,Hadoop生态系统是一个很庞大的概念,hadoop是其中最重要最基础的一部分;生态系统中的每一个子系统只解决某一个特定的问题域(甚至可能很窄),不搞统一型的一个全能系统而是小而精的多个小系统.
分布式文件系统HDFS
什么是HDFS
  • Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS
  • 源自Google的GFS论文
  • 发表于2003年,HDFS是GFS的克隆版
HDFS的设计目标
  • 非常巨大的分布式文件系统
  • 运行在普通廉价的硬件上
  • 易扩展、为用户提供性能不错的文件存储服务
Namenode and Datanode

HDFS架构在这里插入图片描述
1.Master(Namenode/NN)带N个Slaves(Datanode/DN)
HDFS/YARN/HBase
2.1个文件会被拆分成多个Block,blocksize:128MB
130M==>2个Block:128M和2M
NN

  • 负责客户端请求的响应
  • 负责元数据(文件的名称、副本系数、Block存放的DN)的管理
    DN
  • 存储用户的文件对应的数据块(Block)
  • 要定期向NN发送心跳信息、汇报本身及所有的block信息,健康状况
    Namenode+N个Datanode
    建议:NN和DN部署在不同的节点上
    replication factor:副本系数、副本因子
    All blocks in a file except the last block are the same size.

HDFS副本机制
在这里插入图片描述
Hive:类似于sql的Hive QL语言,sql==>mapreduce
特点:mapreduce
改进:hive on tez、hive on spark、hive on mapreduce

Spark:hive on spark ==>shark(hive on spark)
shark推出:欢迎,基于spark,基于内存的的列式存储、与hive能够兼容
缺点:hive ql 的解析、逻辑执行计划生成、执行计划的优化是依赖于hive的,仅仅只是把物理执行计划从mr作业替换成spark作业
Shark终止以后,产生了2个分支:
1):hive on spark
Hive社区,源码是在hive中
2)Spark SQL
Spark社区,源码是在Spark中
支持多种数据源,多种优化技术、扩展性提高很多

SQL on Hadoop
1)Hive
sql =>mapreduce
metastore :元数据
sql:database、table、view
facebook
2)impala
cloudera:cdh(建议大家在生产环境上使用的hadoop系列版本)、cm
metastore
3)presto
facebook
京东使用较多
sql
4)drill
sql
访问:hdfs,rdbms,json,hbase,mangodb,s3,hive
5)Spark SQL
sql
dataframe/dataset api
metastore
访问:访问:hdfs,rdbms,json,hbase,mangodb,s3,hive ==>外部数据源

Spark SQL is a Spark module for structured data processing
Spark SQL它不仅仅有访问或者操作SQL的功能,还提供了其他的非常丰富的操作:外部数据源、优化等
Spark SQL概述小结:
1)Spark SQL 的应用并不局限于SQL;
2)访问hive、json、parquet等文件的数据;
3)SQL只是Spark SQL的一个功能而已;

===>Spark SQL这个名字起的并不恰当
4)Spark SQL提供了SQL的api、DataFrame和Dataset的API

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值