- 博客(43)
- 收藏
- 关注
原创 Java面试3——Java8List源码解析
关注【星辰学院】 http://xingchenxueyuan.com 更多知识和内容,一起打怪升级!ArrayList概览ArrayList 是基于数组实现的,支持快速随机访问。数组的默认大小为 10。存储结构如图:扩容添加元素时使用 ensureCapacityInternal() 方法来保证容量足够,如果不够时,需要使用 grow() 方法进行扩容,新容量的大小...
2020-04-11 17:43:56
213
原创 Java面试2——容器
总览Java 容器包括Collection和Map两种。Collection存储集合Map存储键值对CollectionSetTreeSet基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(logN)。HashSet基于哈希表实现,支持快速查找,但...
2020-04-10 11:16:50
204
原创 Java基础面试系列1
Java基础面试系列1关注我们 http://xingchenxueyuan.com 更多知识和内容,一起打怪升级!本系列文章不同于他人的长篇大论,只总结那些有用且比较容易忽视的知识点。数据类型boolean类型占用几个字节?我们都知道Java中基本数据类型是占用1,2,4,8字节,但是boolean类型却没有明确的占用数量因为他会在编译期间被转化为Int类型的0和1为什么有I...
2020-04-03 18:27:42
215
原创 Spring静态持有ApplicationContext对象
Spring中如何静态持有ApplicationContext对象关注我们 http://xingchenxueyuan.com 更多知识和内容,一起打怪升级!我们在写spring时,可能需要在Controller中引用appContext来获取需要的bean或者配置,这时候就需要把实例化的spring context对象进行保存,在这里我们使用静态变量的方法进行保存。import or...
2020-04-03 15:31:02
588
原创 Java IntelliJ IDEA 不能显示项目里的文件结构
方法一:关闭IDEA, 然后删除项目文件夹下的.idea文件夹 重新用IDEA工具打开项目方法二:菜单:File -> Invalidate Caches / Restart
2019-09-16 12:10:11
259
原创 如何监控页面url变化
history.pushState = ( f => function pushState(){ var ret = f.apply(this, arguments); window.dispatchEvent(new Event('pushState')); window.dispatchEvent(new Event('locationchange')); ...
2019-04-03 15:18:05
1302
原创 webpack操作手册
1、详细介绍为什么要使用webpack,并通过spa,mpa讲解如何操作。https://github.com/wallstreetcn/webpack-and-spa-guide
2019-04-01 16:53:09
193
原创 《nginx黑马教程》
1,2,3 章 过第4章 nginx 基本配置本书主要对于nginx使用基本有个了解,需要了解1、nginx 如何进行静态文件代理2、如何进行反向代理3、负载均衡有哪些策略4、nginx 缓存5、nginx权限控制其中第7章nginx 的应用,第8章 优化 需要结合实际再看看,基础阶段只需要按照基本优化来搞就行。另外下一步可以看《精通nginx 第二版》,这本书...
2019-03-18 18:01:15
1335
转载 使用babel将es6代码转为es5
1、babel是什么 2、javascript制作规范 3、babel转译器 4、babel的使用 5、常见的几种babel转译器和插件 6、babel最常见配置选项 7、babel的其他 8、在webpack中使用babel 9、总结凡是看到这个标题点进来的同学,相信对babel都有了一定的了解。babel使用起来很简单,简单到都没有必要...
2019-03-01 11:02:56
831
转载 jsonp原理与实验
https://blog.csdn.net/hansexploration/article/details/80314948
2019-02-22 18:40:57
222
原创 使用python操作mysql
说在前面,本文假设读者有了一定的python基础和mysql基础。文档操作环境是mac + python3.5 + mysql5.61、工具选择与安装1.1 在此我们选择python3.x 版本进行mysql操作,支持比较好的工具即pymysql。1.2 安装pymysql$ pip install PyMySQL如果系统不支持pip3命令,则离线安装:$ gi...
2018-09-03 20:08:47
232
原创 ambari快速搭建hdp教程
本文使用ambari2.6.0和HDP2.6.3-centos7进行搭建,虚拟机软件使用vagrant作为载体。硬件环境:mac 16GB内存, 256GB硬盘说明:因为是单机搭建,为起到简单的实验目的,我们选择了vagrant作为虚拟机软件,快速搭建环境。另外,由于在线安装速度非常慢,我们需要离线下载必要安装包。以下是主要过程:1、下载安装包2、搭建http服务3、...
2018-08-22 10:54:17
714
转载 spark面试题一
1.Spark master使用zookeeper进行HA的,有哪些元数据保存在Zookeeper?偏向于运维,暂不作讨论。2.Spark master HA 主从切换过程不会影响集群已有的作业运行,为什么?3.Spark on Mesos中,什么是的粗粒度分配,什么是细粒度分配,各自的优点和缺点是什么?4.如何配置spark master的HA?5.Apache Spark有哪些常见的稳定版本,...
2018-05-16 19:42:15
520
转载 spark精华面试题
1、driver的功能是什么?1)一个Spark作业运行时包括一个Driver进程,也是作业的主进程,具有main函数,并且有SparkContext的实例,是程序的人口点;2)功能:负责向集群申请资源,向master注册信息,负责了作业的调度,,负责作业的解析、生成Stage并调度Task到Executor上。包括DAGScheduler,TaskScheduler。2、spark的有几种部署模...
2018-05-16 19:41:31
1813
转载 使用Hive API分析HQL的执行计划、Job数量和表的血缘关系
http://lxw1234.com/archives/2015/09/476.htm
2018-05-10 16:45:21
2803
原创 Python多线程总结
0、有资源就用多进程,其次,IO密集用多线程也可以。1、Python多线程是假的多线程。2、全局解释器锁(GIL)Python代码的执行由Python虚拟机(解释器)来控制。Python在设计之初就考虑要在主循环中,同时只有一个线程在执行,就像单CPU的系统中运行多个进程那样,内存中可以存放多个程序,但任意时刻,只有一个程序在CPU中运行。同样地,虽然Python解释器可以运行多个线程,只有一个线...
2018-05-04 11:35:56
204
转载 hive中order by,sort by, distribute by, cluster by作用以及用法
1. order by Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的数据都会到同一个reducer进行处理(不管有多少map,也不管文件有多少的block只会启动一个reducer)。但是对于大量数据这将会消耗很长的时间去执行。 这里跟传统的sql还有一点区别:如...
2018-04-26 18:42:36
282
原创 spark-driver 集群与driver节点 Python版本 不一致报错
1、环境说明:driver节点使用Python3.5,集群使用Python2.7。2、出现报错Exception: Python in worker has different version 2.7 than that in driver 3.5, PySpark cannot run with different minor versions.Please check environment ...
2018-04-26 18:24:38
2064
转载 Spark性能优化:数据倾斜调优
1、如何判断数据切斜的发生源头?根据stage划分原理和sparkUI2、数据倾斜解决方案解决方案一:使用Hive ETL预处理数据解决方案二:过滤少数导致倾斜的key解决方案三:提高shuffle操作的并行度解决方案四:两阶段聚合(局部聚合+全局聚合)方案适用场景:对RDD执行reduceByKey等聚合类shuffle算子或者在Spark SQL中使用group by语句进行分组聚合时,比较适...
2018-04-24 16:59:24
486
转载 Spark性能优化:资源调优篇
https://blog.csdn.net/u012102306/article/details/51637366
2018-04-24 16:14:47
131
转载 Spark性能优化:开发调优篇
spark调优分为几个方面:1、开发调优2、资源调优3、数据倾斜调优4、shuffle调优开发调优1、尽可能只读取一遍源数据2、进行持久化3、避免使用shuffle类算子例如,Broadcast与map进行join代码示例// 传统的join操作会导致shuffle操作。// 因为两个RDD中,相同的key都需要通过网络拉取到一个节点上,由一个task进行join操作。val rdd3 = r...
2018-04-24 15:53:35
255
原创 spark-sql学习——官网文档
综述spark-sql 是spark生态圈中操作结构化数据的一个模块。开始计算scala> val df = spark.read.json("/test/people.json")df: org.apache.spark.sql.DataFrame = [age: bigint, name: string] scala> df.show()+--...
2018-04-20 14:55:03
444
转载 spark学习系列——11 spark shuffle 过程
https://www.csdn.net/article/2014-05-19/2819831-TDW-Shuffle/1https://www.jianshu.com/p/98a1d67bc226
2018-04-13 14:49:58
179
原创 spark学习系列——10 spark宽依赖和窄依赖
如何表现RDD之间的依赖。在RDD中将依赖划分成了两种类型:窄依赖(narrow dependencies)和宽依赖(wide dependencies)。窄依赖是指父RDD的每个分区都只被子RDD的一个分区所使用。相应的,那么宽依赖就是指父RDD的分区被多个子RDD的分区所依赖。例如,map就是一种窄依赖,而join则会导致宽依赖(除非父RDD是hash-partitioned,见下图)。具体例...
2018-03-26 19:37:43
417
原创 spark学习系列——9 spark共享变量
默认情况下,如果在一个算子的函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个task中。此时每个task只能操作自己的那份变量副本。如果多个task想要共享某个变量,那么这种方式是做不到的。Spark为此提供了两种共享变量,一种是Broadcast Variable(广播变量),另一种是Accumulator(累加变量)。Broadcast Variable会将使用到的变量,仅仅为每个...
2018-03-26 19:09:38
257
原创 spark学习系列——8 RDD持久化操作
1、概念RDD持久化将数据通过操作持久化(或缓存)在内存中是Spark的重要能力之一。当你缓存了一个RDD,每个节点都缓存了RDD的所有分区。这样就可以在内存中进行计算。这样可以使以后在RDD上的动作更快(通常可以提高10倍)。你可以对希望缓存的RDD通过使用persist或cache方法进行标记。它通过动作操作第一次在RDD上进行计算后,它就会被缓存在节点上的内存中。Spark的缓存具有容错性,...
2018-03-26 18:47:58
403
原创 spark学习系列——7 操作RDD
具体参见 http://spark.apache.org/docs/latest/rdd-programming-guide.html本篇博文主要针对各个算子进行实现,读者可以根据代码注释并参考上方链接进行学习。1、pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache...
2018-03-21 20:04:32
256
原创 spark学习系列——6 Historyserver配置
1、说明sparkUI 只有在作业执行中才能从yarn界面看到状态,作业执行结束之后想要查看历史数据就必须配置Historyserver。2、配置方法如果spark记录下了一个作业生命周期内的所有事件,那么就会在该作业执行完成之后,我们进入其web ui时,自动用记录的数据重新绘制作业的web ui。有3个属性我们可以设置spark-defaults.confspark.eventLog.enab...
2018-03-20 19:47:23
782
1
原创 spark学习系列——5 spark submit
详细请参见:http://spark.apache.org/docs/latest/submitting-applications.html1、提交样板./bin/spark-submit \ --class <main-class> \ --master <master-url> \ --deploy-mode <deploy-mode> \ ...
2018-03-20 19:44:10
387
原创 spark学习系列——4 spark standalone模式图解
此方式仅仅作为对于spark架构的了解,国内实际生产环境会使用yarn作为资源调度器。
2018-03-20 19:35:51
346
原创 spark学习系列——3 rdd介绍
1、RDD是Spark提供的核心抽象,全称为Resillient Distributed Dataset,即弹性分布式数据集。2、RDD在抽象上来说是一种元素集合,包含了数据。它是被分区的,分为多个分区,每个分区分布在集群中的不同节点上,从而让RDD中的数据可以被并行操作。(分布式数据集)3、RDD通常通过Hadoop上的文件,即HDFS文件或者Hive表,来进行创建;有时也可以通过应用程序中的集...
2018-03-20 19:31:09
278
原创 spark学习系列——2 WordCount
经典的例子首先上传文件到hdfs,再启动spark-shell,进行计算[bdpos@BJHC-Client-18562 spark]$ hdfs dfs -mkdir /spark/input[bdpos@BJHC-Client-18562 spark]$ hdfs dfs -put ./README.md /spark/input[bdpos@BJHC-Client-18562 spark...
2018-03-20 19:26:39
569
原创 spark学习系列——1 spark四大特性
什么是sparkApacheSpark™ is a fast and general engine for large-scale data processing.四大特性1、Speed 速度快2、Ease of Use 容易使用3、Generality 通用性4、Runs Everywhere 多种运行方式参考官网介绍http://spark.apache.org/...
2018-03-20 19:04:12
417
原创 scala学习草稿
本篇博客纯属个人草稿,本着好读书不求甚解的态度,对于自己以往的学习进行简单的整理。博主会在文章开头写明大致脉络,欢迎指正错误,谢谢!文章目录1、安装scala与idea编辑器2、scala基础3、scala数据结构4、scala面向对象5、akka示例1、安装scala与idea编辑器操作简单,可自行百度2、scala基础2.1 声明变量object VariableTest { def ma...
2018-03-19 17:20:24
445
原创 github教程
1.安装git,ubuntusudo apt-get install git 2.安装完成后设置用户名和邮箱$ git config –global user.name “Your Name”$ git config –global user.email “email@ex
2016-02-28 14:23:36
432
转载 爬虫简单架构
爬虫基础概念及作用1.爬虫:一段自动抓取互联网信息的程序。2.作用:信息为我所用。简单爬虫架构1.2.URL管理器:管理待抓取url集合和已抓取的URL集合如果不对这些URL进行管理,就有可能出现重复抓取和循环抓取的情况,最严重的情况,如果两个URL相互指向,会发现我们的爬虫一直在循环不断的抓取这两个URL,便会出现死循环
2016-02-21 18:21:09
597
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人