- 博客(46)
- 收藏
- 关注
原创 大数据面试之——大数据解决方案思维题
1.给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:假如每个url大小为10bytes,那么可以估计每个文件的大小为50G×64=320G,远远大于内存限制的4G,所以不可能将其完全加载到内存中处理,可以采用分治的思想来解决。Step1:遍历文件a,对每个url求取hash(url)%1000,然后根据所取得的值将u...
2020-03-06 15:58:13
690
转载 大数据面试系列之——Java基础
1.String 和StringBuffer的区别JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据这个String类提供了数值不可改变字符串而这个StringBuffer类提供的字符串进行修改当你知道字符数据要改变的时候你就可以使用StringBuffer典型地,你可以使用StringBuffers来动态构造字符数据2...
2020-03-03 16:04:48
368
转载 大数据面试系列之——Kafka
1 什么是kafkaKafka是分布式发布-订阅消息系统,它最初是由LinkedIn公司开发的,之后成为Apache项目的一部分,Kafka是一个分布式,可划分的,冗余备份的持久性的日志服务,它主要用于处理流式数据。2 为什么要使用 kafka,为什么要使用消息队列缓冲和削峰:上游数据时有突发流量,下游可能扛不住,或者下游没有足够多的机器来保证冗余,kafka在中间可以起到一个缓冲的作...
2020-03-02 15:38:15
404
转载 面试系列之——数据库知识(2)
MySQL数据库在5.0版本后开始支持存储过程,那么什么是存储过程呢?怎么创建、查看和删除存储过程呢?存储过程有什么优点?这些是本章节要探讨的问题:什么是存储过程:简单的说存储过程是为了完成某个数据库中的特定功能而编写的语句集,该语句集包括SQL语句(对数据的增删改查)、条件语句和循环语句等。创建存储过程:存储过程的创建非常简单,其创建结构为:CREATE PROCEDURE proc_...
2020-02-26 11:21:42
782
转载 面试系列之——数据库知识(1)
事务事务指的是满足如下四个特性【ACID特性】的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。原子性(Atomicity)事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。回滚可以用回滚日志来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。一致性(Consistency)数据库在事务执...
2020-02-25 17:13:14
230
转载 面试系列之——MySQL基础
数据库某种意义上这样定义:物理操作系统或者其他形式文件类型的集合;在 MySQL 中,实例和数据库往往都是一一对应的,而我们也无法直接操作数据库,而是要通过数据库实例来操作数据库文件,可以理解为数据库实例是数据库为上层提供的一个专门用于操作的接口。在 Linux上,启动一个 MySQL 实例往往会产生两个进程,mysqld 就是真正的数据库服务守护进程,而 mysqld_safe 是一个用于检...
2020-02-25 16:53:02
268
原创 大数据面试系列之——Zookeeper
1.简单介绍下ZookeeperZooKeeper是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。分布式应用程序可以基于Zookeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。Zookee...
2020-02-24 15:28:14
419
原创 tar命令的参数详解
tar支持将多个文件包成一个文件,同时还可通过gzip/bzip将该文件压缩。目前window的winRAR也支持.tar.gz文件解压。一、参数说明说明: -c/-x/-t/u 不可同时出现参数参数说明-c新建打包文件,同 -v 一起使用 查看过程中打包文件名-x解决文件, -C 解压到对应的文件目录。-f后面接要处理的文件-j通过bzi...
2020-02-24 09:47:13
1043
转载 Hive表存储格式的介绍和比较
一、四种存储格式介绍1、TestFile TextFile文件不支持块压缩,默认格式,数据不做压缩,磁盘开销大,数据解析开销大。这边不做深入介绍。2、RCFile Record Columnar的缩写。是Hadoop中第一个列文件格式。能够很好的压缩和快速的查询性能,但是不支持模式演进。通常写操作比较慢,比非列形式的文件格式需要更多的内存空间和计算量。&nbs...
2020-02-20 18:44:07
311
原创 大数据面试系列之——Spark
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。1.Spark有几种部署模式,各个模式的特点1.本地模式Spark不一定非要跑在hadoop集群,可以在本地,起多个线程的方式来指定。方便调试,本地模式分三类local:只启动一个executorlocal[k]: 启动k个executorlocal:启动跟cpu数目相同的 executor2.s...
2020-02-17 13:31:31
1026
原创 大数据面试系列之——Hive
Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据1.Hive与传统数据库的区别1、数据存储位置:Hive是建立在Hadoop之上的,所有的Hive的数据都是存储在HDFS中的。而数据库则可以将数据保存在块设备或本地文件系统中。2、数据格式:Hive中没有定义专门的数据格式,由用户指定,需要指定三个属性:列分隔符,行分隔符,以及读取文件数据的方法。数据库中,存储引擎定义了自己的...
2020-02-12 21:55:17
1000
原创 大数据面试系列之——Hbase
Hbase是一个分布式的列式存储的数据库1.说说Hbase的特点1.分布式架构,Hbase通过集群存储数据,数据最终会落到HDFS上2.是一种NoSQL的非关系型数据库,不符合关系型数据库的范式3.面向列存储,底层基于key-value结构4.适合存储半结构化、非结构化的数据5.适合存储稀疏的数据,空的数据不占用空间6.提供实时的增删改查的能力,但是不提供严格的事务机制,只能在行级别...
2020-02-05 20:44:08
470
原创 大数据面试系列之——Hadoop
Hadoop的三个核心:HDFS(分布式存储系统)MapReduce(分布式计算系统)YARN (分布式资源调度)一.Hadoop集群的几种搭建模式1.单机模式:直接解压安装,不存在分布式存储系统2.伪分布式:NameNode和DataNode安装于同一个节点,无法体现分布式处理的优势。3.完全分布式:一个主节点,多个从节点,存在如果主节点宕机,集群就无法使用的缺点。4.高可用模式...
2020-02-04 21:13:51
367
原创 java中next()和nextline()的区别
next()和nextline()都是Scanner类中的方法,都可以用来拾取控制台输入。两者之间的不同是:next()不能识别空格/tab键(当然空格和tab键后的内容也不会识别),并且以enter键截止;nextline()可以识别空格/tab键及其后的内容,以enter键截止;public class text2 { public static void main(Strin...
2019-12-18 11:40:11
192
原创 Centos7下搭建大数据处理集群(Hadoop+Spark+Hbase+Hive+Zookeeper+Kafka+Flume)详细步骤
一.目录二.集群规划三.虚拟机准备及基础配置设置四.Hadoop4.1安装Hadoop4.1.1上传解压安装包1.创建软件安装包上传目录/opt/package,Hadoop安装目录/opt/hadoop[root@hp1 opt]# mkdir package[root@hp1 opt]# mkdir hadoop2.将下载好的Hadoop安装包上传到/opt/package...
2019-12-12 16:10:35
2805
转载 Linux中su,sudo,sudo -i,sudo su的用法和区别
sudo:暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。su:切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。sudo-i:为了频繁的执行某些只有超级用户才能...
2019-12-04 14:37:13
217
原创 新建idea的scala项目报错
错误记录:通过IDEA方式创建scala项目后,在修改项目目录结构时,将src、main、scala目录全部设置为Sources时,运行程序时报错:Error:(1, 8) hello is already defined as object helloobject hello {解决方案:只将程序上一层目录设置为Sources,问题解决。...
2019-11-15 17:30:31
548
原创 Scala中的函数和方法(终于搞清楚了)
函数是一组一起执行一个任务的语句。 您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。Scala 有函数和方法,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。我们可以在任何地方定义函数,甚至可以在函数内定义函数(内嵌函数)。更重要...
2019-11-05 18:21:38
4892
3
转载 sqoop数据迁移指南(参数超详细解析)
https://blog.csdn.net/Thomson617/article/details/95357486
2019-09-26 16:03:40
247
原创 Windows安装ElasticSearch和ElasticSearch-head插件
Elasticsearch是一个基于Apache Lucene™的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。1.安装ElasticSearch前提条件电脑上必须安装jdk1.8下载下载地址:https://www.elastic.co/cn/downloads/elasticsearch选择版本:根据自己的系统安...
2019-09-05 18:22:48
156
原创 Hive中日期格式的转换
yyyy-mm-dd与yyyymmdd日期格式之间的相互转换:1.yyyy-mm-dd转换为yyyymmddregexp_replace(‘yyyy-mm-dd’ ,’-’,’’)from_unixtime(unix_timestamp(‘2019-08-28’,‘yyyy-mm-dd’),‘yyyymmdd’)concat(substr(‘2018-08-28’,1,4),substr...
2019-08-28 18:01:21
3734
原创 Centos7搭建CDH5.15集群(完全版)
CDH是Cloudera的100%开源平台发行版,包括Apache Hadoop,专为满足企业需求而构建。CDH提供开箱即用的企业使用所需的一切。通过将Hadoop与十几个其他关键的开源项目集成,Cloudera创建了一个功能先进的系统,可帮助您执行端到端的大数据工作流程。简单来说:CDH 是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得集群的安装可以从几天的时...
2019-08-19 18:59:26
2146
原创 Centos7设置ntp服务开机自启动不生效的解决办法
一般我们设置开机自启动使用systemctl enable ntpd 这个命令就OK了,但是在设置ntp服务时,执行这个命令后重启后,ntp并没有启动,很奇怪。后面查找资料发现,是存在服务和ntp冲突导致开机启动未生效,这个服务是chrony,使用systemctl is-enabled chronyd查看chrony的启动状态设置,果然也是开机启动,使用 systemctl disab...
2019-08-16 10:46:09
6264
原创 国内常用的NTP服务器
#server 0.centos.pool.ntp.org iburst国内NTP服务器地址ntp1.aliyun.comntp2.aliyun.comntp3.aliyun.comntp4.aliyun.comntp5.aliyun.comntp6.aliyun.comntp7.aliyun.com设置NTP服务的方法:vi /etc/ntp.conf# For more...
2019-08-02 11:32:13
70557
1
原创 SELinux的状态查看及改变
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上。虽然SELinux很好用,但是在多数情况我们还是将其关闭,因为在不了...
2019-08-02 11:14:54
396
原创 Greenplum数据库的分布键
Greenplum是分布式系统,创建表时需要指定分布键(创建表需要CREATEDBA权限),目的在于将数据平均分布到各个segment。选择分布键非常重要,选择错了会导致数据不唯一,更严重的是会造成SQL性能急剧下降。Greenplum有两种分布策略:1、hash分布。Greenplum默认使用hash分布策略。该策略可选一个或者多个列作为分布键(distribution key,简称DK)...
2019-07-26 17:39:24
3604
原创 Greenplum数据库常用操作语句
Greenplum 大数据平台基于MPP(大规模并行处理)架构,具有良好的弹性和线性扩展能力,内置并行存储、并行通讯、并行计算和优化技术,兼容 SQL 标准,具备强大、高效、安全的PB级结构化、半结构化和非结构化数据存储、处理和实时分析能力一.创建表创建表检查约束CREATE TABLE products( product_no integer,name text,price ...
2019-07-26 17:20:47
2189
原创 Linux常用命令
一.系统管理命令ls -a:显示该目录下的所有文件或文件夹ls -l:显示该目录下的所有文件或文件夹的详细信息ls -R:递归显示子目录结构;ls -ld:显示目录和链接信息;ctrl+r:历史记录中所搜命令(输入命令中的任意一个字符);Linux中以.开头的文件是隐藏文件;pwd:显示当前目录二.操作文件或文件夹命令mv 文件 目标目录:移动或重命名文件或目录(如果指定文...
2019-07-25 18:30:24
255
原创 个人电脑虚拟环境的搭建(VMware Workstation Pro)
对于刚接触学习Linux系统或大数据的同学,拥有一个自己学习实践的环境是很必要的,然而我们个人购买或租用实体服务器成本比较大,剩下可选择的方式就只有购买云服务器或者在个人电脑上搭建Linux系统了,云服务器对于学生党和经济情况有限的爱好者还是有点小贵,就剩下最后一条路了,在个人电脑上搭建虚拟环境,只要你有一台配置差不多的电脑就可以满足学习的需求了。一.准备工作个人电脑硬盘:大小够你...
2019-07-17 17:50:56
4831
原创 Notepad++远程连接服务器
一.安装Notepad++安装其实很简单,找个Notepad++安装包,直接下一步下一步就OK。安装包资源:百度网盘:https://pan.baidu.com/s/1fNE80dpRC3qyEzgPsC4RPA提取码:bjwc二.安装NppFTP插件,设置远程链接1.资源下载插件资源:百度网盘:链接:https://pan.baidu.com/s/1H37iGCHQomNY- ...
2019-07-15 15:49:18
2457
原创 Sqoop的使用
最近在使用sqoop的时候遇到了一些坑,在此就sqoop做一些介绍并且记录自己的爬坑过程,希望对看到的朋友有所帮助sqoop的介绍作用:在Hadoop和RDBMS之间高效传输数据:1.hadoop大数据存储平台:hdfs,hbase,hive2.rdbms关系型数据库 : mysql,oracle,postgresql,mssql原理:把用户的指令解析编译成MR任务,发布到yar...
2019-07-09 17:02:45
275
原创 创建Maven项目时 pom.xml 出现的MavenArchiveConfiguration问题
eclipse写入新的maven项目时,pom.xml第一行报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)报错原因是:maven配置文件不是最新的解...
2019-07-03 16:17:48
915
原创 Python中具有布尔意义的值
Python中很多特殊值具有false意义:NONE;False(布尔类型);所有值为零的数: 0(整型) 0.0(浮点数) 0L(长整型) 0.0+0.0j(复数) ""(空字符串) [](空列表) ()(空元组) {}(空字典)以上这些值在逻辑判断时若为判断条件当false执行其他值在逻辑判断时若为判断条件当true执行...
2019-05-09 11:00:31
558
原创 Linux中的文件权限
展示下Linux的用户分组Linux系统中的每个文件和目录都有访问许可权限,如下面所示:实例展示:ypy@ubuntu:~$ ls -ldrwxr-xr-- 2 ypy ypy 4096 Nov 30 18:33 Desktop/drwxr-xr-- 2 ypy ypy 4096 Nov 30 18:33 Documents/drwxr-xr-- 2 yp...
2019-05-08 11:05:32
232
转载 Hive内存溢出常见问题
MapReduce作业运行过程中内存溢出错误分类1、Mapper/Reducer阶段JVM内存溢出(一般都是堆)1)JVM堆(Heap)内存溢出:堆内存不足时,一般会抛出如下异常:第一种:“java.lang.OutOfMemoryError:” GC ove...
2019-05-07 11:25:53
2023
转载 vim/vi 如何高效使用
众所周知,vi/vim 是全世界最powerful的编辑器,掌握并熟练使用vi/vim,可以让我们非常高效的happy地coding,使用linux系统时也会让我们顺手很多。不会熟练使用vi/vim的伙伴,永远都离IT高手有一段距离。不是一句话说的好嘛 -- 要用就用最好的工具,因为最好的工具会让你事倍功半。(开源编辑器的NO 1)下面分享一下vi/vim的键位图(可以直接打印出来,贴在自己...
2019-04-29 14:42:12
306
转载 Java性能优化:细节优化,提高代码运行效率
代码 优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时...
2019-04-28 10:12:25
224
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人