WYK's Blog
For the shadow of lost knowledge at least protects you from many illusions.
知识,哪怕是知识的幻影,也会成为你的铠甲,保护你不被愚昧反噬。
-
数据结构and数据建模and数据算法数据结构1.线性表线性表是最常用且最简单的一种数据结构,它是n个数据元素的有限序列。实现方式:1.数组:大小固定,满了需要用更大数组替换;查找快,插入、删除慢(需要移动后面数据位置)2.链表:通过链表中的指针链接次序实现;插入、删除快,查找慢 单链表反转:https://blog.csdn.net/blioo/article/details/620509672.栈与队列栈和队列也...
-
spark小文件过多问题记录1.问题描述1.最近使用spark sql执行etl时候出现了,最终结果大小只有几百k,但是小文件一个分区有上千的情况。 危害:hdfs有最大文件数限制; 浪费磁盘资源(可能存在空文件)。 hive中进行统计,计算的时候,会产生很多个map,影响计算的速度。2.解决流程1.设想:通过spark的coalesce()方法和repartition()方法 v...
-
大数据知识点整理1.Hadoop1.简述如何安装配置apache 的一个开源的hadoop1 ) 安装JDK并配置环境变量(/etc/profile)2) 关闭防火墙3) 配置hosts文件,方便hadoop通过主机名访问(/etc/hosts)4) 设置ssh免密码登录5) 解压缩hadoop安装包,并配置环境变量6) 修改配置文件( $HADOOP_HOME/conf )hadoop-env.sh co...
-
kafkakafka也是现在各家互联网公司里非常常用的技术了,虽然现在我们组暂时没有用到,还是学习一手,记录下,以备不时之需。1.本地kafka搭建1.安装brew2.安装kafka:brew install kafka 配置文件位置:/usr/local/etc/kafka/server.properties /usr/local/etc/kafka/zookeeper....
-
hdfsHDFS写入操作场景1.有一个文件FileA,100M大小。Client将FileA写入到HDFS上。2.HDFS按默认配置。3.HDFS分布在三个机架上Rack1,Rack2,Rack3。写操作流程 1.将 100M 文件划分为 64M 和 36M 两个block 2.将 64M 的block1按 64k 的package划分; 3.将第一个package发送给host2; 4.ho...
-
spark基本原理rdd1.RDD是Spark提供的核心抽象,即弹性分布式数据集(弹性指rdd可以权衡数据存储在内存或磁盘)2.RDD有分区,如一个RDD有90万数据,10个分区,每个10万数据;默认一个分区最大128M,可通过spark.files.maxPartitionBytes调节。3.每个分区都会被一个计算任务处理,并决定并行计算的粒度。用户可以在创建RDD时指定RDD的分片个数,如果没有指定,那么...
-
hbase1.Hbase概述1.HBase设计模型HBase中的每一张表就是所谓的BigTable。BigTable会存储一系列的行记录,行记录有三个基本类型的定义:a.RowKey:是行在BigTable中的唯一标识。b.TimeStamp:是每一次数据操作对应关联的时间戳,可以看作SVN的版本。c.Column:定义为<family>:<label>,通过这两部分可以指定唯...
-
sqoop1.Sqoop原理从传统数据库获取元数据信息(schema、table、field、field type),把导入功能转换为只有Map的Mapreduce作业,在mapreduce中有很多map,每个map读一片数据,进而并行的完成数据的拷贝。在导入开始之前,Sqoop使用JDBC来检查将要导入的表。他检索出表中所有的列以及列的SQL数据类型。这些SQL类型(VARCHAR、INTEGER)...
-
Elasticsearch1.Elasticsearch简介ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据...
-
zk实现分布式锁基于curator实现的分布式锁主要有三种:1.基于InterProcessMutex实现的分布式锁属于可重入式锁,当一个客户端获取到lock锁之后,可以重复调用acquire()而不会发生阻塞。2.基于InterProcessSemaphoreMutex实现的分布式的分布式锁是不可重入的,当一个客户端获取到lock锁之后,再次调用acquire方法获取锁时会发生阻塞。3.基于InterPr...
-
redis1.Redis概述Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,...
-
zookperZooKeeper提供了什么1.文件系统2.通知机制1.Zookeeper文件系统每个子目录项如 NameService 都被称作为znode,和文件系统一样,我们能够自由的增加、删除znode,在一个znode下增加、删除子znode,唯一的不同在于znode是可以存储数据的。有四种类型的znode: 1.PERSISTENT-持久化目录节点 : 客户端与zookeeper断开连接后,该节...
-
yarn1.YARN中相关概念1.ResourceManager:负责整个集群的资源管理和分配。2.ApplicationMaster:YARN中每个Application对应一个AM进程,负责与RM协商获取资源,获取资源后告诉NodeManager为其分配并启动Container。3.NodeManager:每个节点的资源和任务管理器,负责启动/停止Container,并监视资源使用情况。4.Co...
-
spark资源调优1.Spark作业基本运行原理我们使用spark-submit提交一个Spark作业之后,这个作业就会启动一个对应的Driver进程。根据你使用的部署模式(deploy-mode)不同,Driver进程可能在本地启动,也可能在集群中某个工作节点上启动。Driver进程本身会根据我们设置的参数,占有一定数量的内存和CPU core。而Driver进程要做的第一件事情,就是向集群管理器(如YAR...
-
impalaimpala也是部门现在用的比较多的技术,整理个大概,方便以后用到的时候用起来更加轻松愉快。Impala架构Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具(实时SQL查询引擎Impala)。Datanode上的每个impalad进程,都具有Query Planner,QueryCoordinator,Query ExecEnginer这...