- 博客(38)
- 收藏
- 关注
原创 spark常见面试题
1、spark中的RDD是什么,有哪些特性RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。Dataset:就是一个集合,用于存放数据的Distributed:分布式,可以并行在集群计算Resilient:表示弹性的弹性表示1、RDD中的数据可以存储在内存或者是磁盘2、RDD中的分区是可以改变的五大特性:A list of partitions一个分区列表,RDD
2020-07-02 23:41:06
1062
原创 hive常见面试题
1. Hive数据倾斜原因key分布不均匀业务数据本身的特性SQL语句造成数据倾斜解决方法hive设置hive.map.aggr=true和hive.groupby.skewindata=true有数据倾斜的时候进行负载均衡,当选项设定为true,生成的查询计划会有两个MR Job。第一个MR Job中,Map的输出结果集合会随机分布到Reduce中,每个Reduce做部分聚合操作,并输出结果,这样处理的结果是相同Group By Key有可能被分发到不同的Reduce中,从而达到负载均衡的目
2020-07-01 08:49:57
803
原创 Flume面试题
1.Flume 采集数据会丢失吗?不会,Channel 存储可以存储在 File 中,数据传输自身有事务。2.Flume 与 Kafka 的选取?采集层主要可以使用 Flume、Kafka 两种技术。Flume:Flume 是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展 API。Kafka:Kafka 是一个可持久化的分布式的消息队列。Kafka 是一个非常通用的系统。你可以有许多生产者和很多的消费者共享多个主题Topics。相比之下,Flume 是一个专用工具被设计为旨在往 H
2020-06-28 19:46:04
780
原创 【SQL练习】经典SQL练习题
准备数据建表语句CREATE TABLE students(sno VARCHAR(3) NOT NULL, sname VARCHAR(4) NOT NULL,ssex VARCHAR(2) NOT NULL, sbirthday DATETIME,class VARCHAR(5))CREATE TABLE courses(cno VARCHAR(5) NOT NULL, cname VARCHAR(10) NOT NULL, tno VARCHAR(10) NOT NULL)
2020-06-28 18:34:30
624
原创 count(*) 和 count(1)和count(列名)区别
执行效果上:count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULLcount(1)包括了所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULLcount(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计执行效率上:列名为主键,count(列名)会比count(1)快列名不为主键,count(1)会比count(列名)快如果表多个列并且没有主键,则 count
2020-06-28 11:02:39
155
原创 hadoop之HDFS及yarn(一)
hdfshdfs三台服务器节点配置:各节点说明:namenode :HDFS的守护进程,负责维护整个文件系统,存储着整个文件系统的元数据信息,有image+edit log ,namenode不会持久化存储这些数据,而是在启动时重建这些数据。datanode:是具体文件系统的工作节点,当我们需要某个数据,namenode告诉我们去哪里找,就直接和那个DataNode对应的服务器的后台进程进行通信,由DataNode进行数据的检索,然后进行具体的读/写操作secondarynamen
2020-06-04 16:55:05
1199
原创 zookeeper的介绍(一)
1、ZooKeeper 概述Zookeeper 是一个分布式协调服务的开源框架。 主要用来解决分布式集群中应用系统的一致性问题,例如怎样避免同时操作同一数据造成脏读的问题。ZooKeeper 本质上是一个分布式的小文件存储系统。 提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。 诸如: 统一命名服务(dubbo)、分布式配置管理(solr的配置集中管理)、分布式消息
2020-06-01 13:59:53
324
原创 linux防火墙查看及白名单配置
一、iptables防火墙1、基本操作#查看防火墙状态service iptables status#停止防火墙service iptables stop#启动防火墙service iptables start#重启防火墙service iptables restart#永久关闭防火墙chkconfig iptables off#永久关闭后重启chkconfig iptables on2、开启80端口vim /etc/sysconfig/iptables#加入如下代码-A
2020-05-29 13:36:57
12709
2
原创 ZooKeeper基础与原理介绍
本章是后续学习的基石,只有充分理解了分布式系统的概念和面临的问题,以及ZooKeeper内部的概念,才能懂得ZooKeeper是如何对分布式系统进行协调,为后续学习打下坚实的基础。 1、ZooKeeper介绍与核心概念1.1 简介ZooKeeper最为主要的使用场景,是作为分布式系统的分布式协同服务。在学习zookeeper之前,先要...
2020-05-28 11:58:49
233
原创 Zookeeper入门介绍
Zookeeper是什么官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。上面的解释有点...
2020-05-28 11:10:59
199
原创 HBase详解
一、 简介hbase是bigtable的开源山寨版本。是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化的松散数据。与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。HBase中的表一般有这样的特点:1 大:一个表可以有上亿行
2020-05-27 15:14:22
477
原创 hiveSql大全(TOPN,行转列,列转行)
一:TOPN的使用1.问题hive如何将语文 小编 81数学 小编 32语文 建国 91数学 建国 95语文 狗剩 65数学 狗剩 68转换为语文 建国 91 1语文 小编 81 2数学 建国 95 1数学 狗剩 68 2建表语句create table sust1(item string,name string,score decimal)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'STORED AS tex
2020-05-13 13:08:31
1223
原创 日志采集框架Flume应用
1. 日志采集框架Flume1.1 Flume介绍1.1.1 概述Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。Flume可以采集文件,socket数据包、文件、文件夹、kafka等各种形式源数据,又可以将采集到的数据(下沉sink)输出到HDFS、hbase、hive、kafka等众多外部存储系统中一般的采集需求,通过对flume的简单配置即可实现 Flume针对特殊场景也具备良好的自定义扩展能力,因此,flume可以适用于大部分的日常数据采集场景1.1.2
2020-05-09 10:20:01
313
原创 cloudera manager CDH中flume集成hive操作及常见异常
1、 确定你的flume在哪台主机上2、 确认该台主机上的flume是否可以正常使用?3、在flume的配置文件中配置conf文件4.在hive中创建表create table new_sc(character_set_name string,default_collate_name string,description string,maxlen string)ROW F...
2020-05-08 11:37:11
642
原创 如何恢复hdfs中丢失的块
可以使用 hdfs fsck /确定哪些文件有问题。查看输出中是否有丢失或损坏的块(暂时忽略复制不足的块)。该命令特别冗长,尤其是在大型HDFS文件系统上,因此我通常会深入了解 hdfs fsck / | egrep -v '^\.+$' | grep -v eplica它忽略了只有点和线谈论复制的线。 hdfs fsck /path/to/corrupt/file -locatio...
2020-01-19 16:57:47
2010
原创 SSH 登录时出现如下错误:Permission denied, please try again
问题描述当使用 SSH 登录 Linux 服务器时,如果是 root 用户,即便正确输入了密码,也会出现类似如下错误信息。Permission denied, please try again.SSH 服务器拒绝了密码,请再试一次。但非root用户可以正常登录,而且root用户通过 管理终端 登录也正常。问题原因服务端SSH 服务配置了禁止root用户登录策略。处理办法...
2020-01-19 09:57:48
5838
原创 Java基础(8)-面向对象
第08天 java面向对象今日内容介绍final和static关键字抽象类接口的概述以及练习包的概述和权限修饰符第1章final和static关键字1.1final关键字的概述及特点•final关键字是最终的意思,可以修饰类,成员变量,成员方法。–修饰类,类不能被继承–修饰变量,变量就变成了常量,只能被赋值一次–修饰方法,方法不能被重写1.1.1案例代码一pack...
2020-01-17 17:58:24
283
原创 Java基础(7)-面向对象
第1章继承1.1继承的概述1.1.1继承概述多个类中存在相同的属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需在定义这些属性和行为,只要继承那个类即可单独的这个类称为父类,基类或者叫超类,多个类可以称为子类或者派生类有了继承以后,我们定义一个类的时候,可以在一个已经存在的类的基础上,还可以定义自己的新成员1.1.2实现继承的方式通过extends关键字可以实现类与类的继承...
2020-01-17 17:49:02
148
原创 Java基础(6)-面向对象
第1章面向对象概述1.1面向对象思想我们回想一下,前面我们完成一个需求的步骤:首先是搞清楚我们要做什么,然后在分析怎么做,最后我们再代码体现。一步一步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。在上面的每一个具体步骤中我们都是参与者,并且需要面对具体的每一个步骤和过程,这就是面向过程最直接的体现。-那么什么是面向过程开发呢? 面向过程开发,其实就...
2020-01-17 17:27:25
208
原创 Java基础(5)
第1章方法的概述1.1方法的概述和定义格式1.1.1方法的概述假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(植物大战僵尸)。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名...
2020-01-17 17:16:09
185
原创 Java基础(4)
第1章数组介绍及动态初始化1.1数组的概述和定义格式1.1.1数组的概述需求:现在需要统计某公司员工的工资情况,例如计算平均工资、找到最高工资等。假设该公司有80名员工,用前面所学的知识,程序首先需要声明80个变量来分别记住每位员工的工资,然后在进行操作,这样做会显得很麻烦。为了解决这种问题,Java就提供了数组供我们使用。那么数组到底是什么呢?有什么特点呢?通过上面的分析:我们可以得到如...
2020-01-17 17:06:02
183
原创 Java基础(3)
第1章循环结构1.1for循环的格式及基本使用1.1.1for循环语句格式:for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; }1.1.2执行流程A:执行初始化语句B:执行判断条件语句,看其结果是true还是false如果是false,循环结束。如果是true,继续执行。C:执行循环体语句D:执行控制条件语句E:回到B继续1....
2020-01-17 16:56:51
242
原创 Java基础(2)
第1章运算符1.1算术运算符的概述和用法运算符对常量和变量进行操作的符号称为运算符表达式用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。定义两个int类型的变量a,b,做加法(a + b)常用运算符算术运算符赋值运算符关系运算符逻辑运算符三元运算符1.1.1算数运算符概述A:什么是运算符...
2020-01-17 16:40:54
183
原创 Java基础(1)-语法格式
1. 关键字1.1 关键字概述:被Java语言赋予特定含义的单词1.2 关键字特点**组成关键字的字母全部小写常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观,所以我们不需要去死记硬背,在今后的学习中重要的关键字也会不断的出来。1.3 案例代码三package com.itheima;/* * 内容辅助键:alt+/ * main方法:main,然后alt+/...
2020-01-17 16:22:11
2602
原创 cdh集群oozie启用HA
cdh集群oozie调度器通过 cloudera manager 启用HA。oozie启用HA,需要先安装负载均衡器,我使用的是haproxy。1.安装harpoxy yum install -y haproxy2.在oozie 操作界面选择启用HA3.选择需要安装oozie角色实例的节点4.配置负载均衡器地址,可以在装完后再配置5.按照向导执行完成6.配置haproxy...
2020-01-10 17:01:37
355
原创 [CDH5] Oozie web console is disabled 问题解决
问题解决:下载ExtJS2.2:下载地址:http://archive.cloudera.com/gplextras/misc/ext-2.2.zip上传到服务器并解压[root@hadoop1 libext]# cd /opt/cloudera/parcels/CDH/lib/oozie/libext/[root@hadoop1 libext]# unzip ext-2.2.zip[...
2020-01-10 16:57:05
135
原创 linux环境下创建和删除软链接
linux环境下创建和删除软链接ln -s /home/zhenwx/htccode-v1/ /home/zhenwx/htccode 建立/home/zhenwx/htccode-v1 的软连接linux下的软链接类似于windows下的快捷方式ln -s /home/zhenwx/htccode-v1/ /home/zhenwx/htccode 中的/hom...
2020-01-10 16:50:20
168
原创 hiveServer2没有启动起来,启动的命令是: hive --service hiveserver2
Error: Could not open client transport with JDBC Uri: jdbc:hive2://192.168.159.131:10000:Error: Could not open client transport with JDBC Uri: jdbc:hive2://192.168.159.131:10000: java.net.ConnectExce...
2020-01-10 16:46:46
3421
原创 Shell脚本调用另一个脚本的三种方法
假如有脚本 first.sh:#!/bin/bash#------------------#@file:first.sh#------------------echo 'your are in first file'如何在其它Shell脚本中调用first.sh呢?主要有三种方法:source、点号以及sh命令。1.source#!/bin/bash#-------------...
2020-01-10 16:40:58
533
原创 union和union all 的区别
SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(...
2020-01-10 16:21:29
155
原创 redis的安装步骤
1.安装目录的准备安装目录: /export/servers软件存放的目录: /export/software日志文件的目录: /export/logs数据存放的目录: /export/data创建以上目录: mkdir -p /export/serversmkdir -p /export/softwaremkdir -p /export/logsmkdir -p /...
2020-01-10 16:17:52
145
原创 linux常用命令总结
一:常用sql1)查看分区hadoop fs -ls /hive/warehouse/managed/dwd_data.db/dwd_gen_track_oneapp_log_df 2)添加分区alter table dwd_gen_track_oneapp_log_df add partition(partition_date = '2019-10-24'); 添加分区3)删除分区...
2020-01-10 16:06:28
152
原创 在安装cdh的时候遇见的错误
在安装cdh的时候遇见的错误 对当前 NameNode 的名称目录进行格式化。 如果名称目录不为空, 此操作将失败 将namenode的目录删除就好 我的是在/dfs/nn 然后重试就可以了...
2019-12-31 16:41:04
917
原创 linux磁盘扩容
linux磁盘扩容1,关闭Vmware的centos7系统,才能在VMWare菜单中设置需要增加到的磁盘大小,如下图所示:然后启动虚拟机,但这个实际硬盘的大小还是之前的大小,我们需要对新加的磁盘进行分区和格式化.严格按照下面的命令执行2,分区:[root@localhost]# fdisk /dev/sda p 查看已分区数量(我看到有两个 /dev/sda1 /dev...
2019-12-31 16:31:49
317
1
转载 VMware安装Centos7超详细过程
原文:https://www.jianshu.com/p/ce08cdbc4ddb?utm_source=tuicool&utm_medium=referral 本篇文章主要介绍了VMware安装Centos7超详细过程(图文),具有一定的参考价值,感兴趣的小伙伴们可以参考一下1.软硬...
2019-11-20 16:27:47
189
转载 Flume的基础(一)
一、背景Hadoop业务的整体开发流程:从Hadoop的业务开发流程图中可以看出,在大数据的业务处理过程中,对于数据的采集是十分重要的一步,也是不可避免的一步.许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;(2) 支持近实...
2019-11-13 16:35:29
214
原创 MySQL使用一张表的字段更新另一张表的字段
update table1 t1 left join table2 t2 on t1.key=t2.key sett1.field1=t2.field1,t1.field2=t2.field2,t1.field3=t2.field3where t1.field4 is null and t2.field4 > '2017-04-27';
2019-11-13 15:37:18
148
原创 left join,right join,inner join,full join之间的区别
full join(外连接)在两张表进行连接查询时,返回左表和右表中所有没有匹配的行。inner join(内连接)只保留两张表中完全匹配的结果集left join(左连接)返回左表中所有的行,即使在右边中没有匹配的记录right join(右连接)返回右表中所有的行,即使在左边中没有匹配的记录...
2019-11-13 14:55:36
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人