布隆过滤器的简单使用 创建一个简单的布隆过滤器.添加依赖:<!-- 布隆过滤器 --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>23.0</version> </depend
clickhouse总结 一.clickhouse-简介ClickHouse是俄罗斯的Yandex于2016年开源的一个用于联机分析(OLAP:Online Analytical Processing)的列式数据库管理系统(DBMS:Database Management System) , 主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。 ClickHouse的全称是Click Stream,Data WareHouse,简称ClickHouse1.优点灵活的MPP架构,支持线性扩展,简单方
scala的常见函数与方法(二) 交集并集差集val list = List(1,2,3,4,5)val arr = Array(3,4,5,6,7)//交集arr.intersect(list).foreach(println)//差集 在集合1中出现,集合2中没有出现的元素list.diff(arr).foreach(println)//并集list.union(arr).distinct.foreach(println)拉链操作拉链操作就是以数据少的为主,从左到右,形成对偶元组val li
scala中Object与class的区别 关键词 Object和Class的区别在Object中的内容都是静态的 单例的 安全的 高效 程序的入口:main 也是写在object中 是可以执行的class中的内容就是普通内容了 main方法写在class中就是一个普通方法,需要new 这个对象去调用该方法在同一个文件中时,object与class名字一致,两者互为伴生关系(object)对象是(class)类的伴生对象(class)类是(object)对象的伴生类...
hive常用函数-夹杂简单语法 语法语句:external 外部的 创建外部表所用. 外部表被删除时数据不会被删除 小知识: hive的表分为内部表(管理表)和外部表 external(外部) 默认内部内部表(管理表) :在进行删除表的时候会将数据删除,导致其他使用这个数据的表,数据丢失. 如果数据是共享的,数据比较重要,建议使用外部表 管理表不用指定location 默认有自己与表名相同的目录 外部表指定location 指定数据位置 也可不指定 指定后,表名与数据文件夹名不一致 外部表不需要自己的目录...
hive的分区表与分桶表的介绍 分区表含义:分区表实际上就是对应一个HDFS文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过WHER.E子句中的表达式选择查询所需要的指定的分区.作用:将数据存储在表的不同文件夹中,根据分区字段查询,会直接锁定文件夹,减少加载数据量,并且不用过滤,提升查询效率静态分区表:partitioned by 创建分区表create table tb_log3(name stri.
hbase的部分内部核心原理及方法调用 元数据的存储元数据存储在某台region-server上,减少了对master的依赖,flush的内部流程数据put到所在列族的内存中,每次调用flush方法,内存空间就会生成对应的stroeFile文件对象,对应真实物理文件读写数据流程和实现数据更新写数据客户端执行put请求连接Zookeeper会返回元数据位置信息然后客户端会去下载元数据信息,然后解析元数据信息,定位到是在哪个region-server的哪个region的列族上,写到内存上.读数据客户端执行put
hive的文件存储格式 Hive支持的存储数的格式主要有:TEXTFILE 、SEQUENCEFILE、ORC、PARQUET.行式存储特点:查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快。列式存储特点:因为每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量;每个字段的数据类型一定是相同的,列式存储可以针对性的设计更好的设计压缩算法。常见格式的存储:TEXTFILE
HBase在java客户端使用时所需依赖 <dependencies> <!--zookeeper--> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> .
MR在Yarn上的运行流程 图片与文本有略微出入1.客户端向ResourceManager提交job申请2.ResourceManager根据申请内容返回相关信息(例:根据input的路径,返回对应的文件元数据信息,还有job资源的提交路径)3.客户端根据返回的信息生成资源文件(job.split,conf.xml,app.jar)并将资源文件提交至hdfs(job的初始化)4.资源提交完后(初始化完毕),客户端提交运行命令请求,向yarn中的Scheduler申请资源(根据当前yarn的调度模式进行调度)5.调度器...
MR内部处理数据流程,一看就会,动手就? 客户端指定map端读取数据位置,map端的并行度由客户端对文件的逻辑切片决定的.(文件大小,文件数量)将maptask,reducetask提交给资源调度系统,资源调度系统将任务分配给虚拟机.通过FileInputFormat的实现类TextInputFormat类的LineRecordReader方法来读取数据(以KV的形式).map方法在执行时是在一个循环中(Mapper类的方法中的循环)每读取到一组KV,map执行一次.处理数据KV,生成新的KV,并通过context将数据写出....
类的加载器和反射的简单使用 类的加载器 介绍:BootStrapClassLoader 根类加载器 引导类加载器 并不是由Java语言编写 而是由C++语言编写 主要负责加载核心包下的类ExtClassLoader 扩展类加载器 Java语言编写 主要负责加载扩展包下的类 ext包下AppClassLoader 应用类加载器 Java语言编写 主要负责加载我们写的类 和 第三方工具的类注意:三个类加载器之间没有任何集成关系但是BootStrap...
单元测试/枚举 单元测试 可以理解为 取代main方法定义一个空参数没有返回值的方法在方法上写@org.junit.Test选中Test方法名 右键运行在其他方法上@Before 之前 @After 之后 当写了这个之后,每当有一个单元测试,这个单元测试前后都会执行被@Before@After 修饰的方法public class Demo02_Junit { @After public vo...
网络通信协议UDP,TCP 网络编程三要素 协议IP地址端口号协议协议 计算机之间进行数据传输需要遵守的规则 UDP: 面向无连接的通信协议,两台计算机进行数据传输不需要建立连接, 发送端给接收端发送数据 不会确认接收端是否存在 接收端接收到数据 也不会告知发送端特点 两台计算机不需要建立连接 ,消耗资源少,发送效率高,但...
Stream流常用API的使用 集合转换为Stream类型Collection 默认方法 Stream stream()数组转换为StreamStream static Stream of()public class Demo01_Stream { public static void main(String[] args) { List<String> list = new ArrayList<>(); //list--...
函数式编程思想及函数式接口的简单使用 介绍面向对象思想 关注的是具备功能的对象函数式编程思想 关注的不再是对象 而是功能Lambda表达式 可以理解为 用一个匿名方法 对一个接口的抽象方法进行重写 标准格式 (参数类型 参数名)->{方法体} ():小括号里面写的是参数 数据类型 参数名 当多个参数是,用逗号隔开 ->:代表指向动作 ...
序列化与反序列化的方法使用,打印流的简单介绍 ObjectOutputStream 序列化流 构造方法:public ObjectOutputStream(OutputStream out) OutputStream out :所有字节输出流的超类 抽象类 可以传入其任意子类对象 FileOutputStream BufferedOutputStream特有方法: writerObject(Object obj) 写对象到磁盘持久化ObjectInputStream 反序列化流 ...
转换流StreamReader的使用介绍 java.io.InputStreamReader extends Reader 字节通往字符的桥梁 可以使用Reader的read方法构造方法: InputStreamReader(InputStream in)InputStreamReader(InputStream in,String charseName) InputStream in : 所有字节输入流的超类 抽象类 ...
缓冲流Buffered的基本使用 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率.BufferOutputStream构造方法:public BufferedOutputStream(OutputStream out): 创建一个新的缓冲输出流。方法:voidwrite(int b)写一个字节void write(byte[] bytes)写一个字节数组...
字节流及字符流的API详解与Properries属性集 IO流:根据数据的流向可以分为:输入流Input:从硬盘中的文件读取的数据到内存中的java程序输出流 Output: 从内存中的java程序向硬盘写数据根据操作的数据分为:字节流:可以操作字节的流计算机上的一切数据都是由字节构成 所以字节流可以操作一切数据字符流: 可以操作字符的流,只能操作文本文件作用: 可以向硬盘中的文件写数据或者读取硬盘中的文件数据字节输...