自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 ERR Slot 3300 is already busy (Redis::CommandError)

Can I set the above configuration? (type 'yes' to accept): yes/usr/local/share/gems/gems/redis-3.0.0/lib/redis/client.rb:79:in `call': ERR Slot 3300 is already busy (Redis::CommandError) from /usr/local/share/gems/gems/redis-3.0.0/lib/redis.rb:21.

2021-09-22 21:36:18 280

原创 clickhouse启动报错,错误日志信息:Structure needs cleaning

0. std::__1::system_error::system_error(std::__1::error_code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0x158ebc6f in ?1. ? @ 0x1587f49f in ?2. ? @ 0x1587eeb6 in ?3. ? @ 0x1587.

2021-09-18 10:51:50 2998 5

原创 SparkSQL 中group by、grouping sets、rollup和cube方法详解

group by:主要用来对查询的结果进行分组,相同组合的分组条件在结果集中只显示一行记录。可以添加聚合函数。grouping sets:对分组集中指定的组表达式的每个子集执行group by,group by A,B grouping sets(A,B)就等价于 group by A union group by B,其中A和B也可以是一个集合,比如group by A,B,C grouping sets((A,B),(A,C)),最后在对每个分组进行unionrollup:在指定表达式的.

2021-08-17 15:14:48 2691

原创 Spark中Shuffle的调优

参数 默认值 描述 spark.reducer.maxSizeInFlight 48M 每次reduce的时候fetch数据的最大值,默认是48M。 如果网络状态OK,Spark的数据量是比较多的,可以尽可能的拉大这个值,例如96M。 spark.shuffle.compress true Shuffle-write写数据到磁盘文件,是否开启压缩机制,默认是true。 开启压缩,需要配合spark.io.compression.codec(压缩方式)使用。 s

2021-08-14 09:28:41 191

原创 Spark中的缓存(cache)和检查点(checkpoint)的使用和区别

cache()底层调用的局势persist(),只能设置缓存级别为StorageLevel.MEMORY_ONLY即在内存中进行缓存persist()这个才是真的缓存方法--无参重载 => 只能设置缓存级别为StorageLevel.MEMORY_ONLY即在内存中进行缓存--有参重载 => 可以设置缓存等级是否是⽤磁盘 是否使⽤内存 是否使⽤堆外内存 是否反序列化 副本的个数object StorageLevel {val NONE = new StorageLevel(f.

2021-08-12 19:27:32 924

原创 Spark中利用flatMap求单词的个数

object Test02 { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("test").setMaster("local") val sc = new SparkContext(conf) val arr = sc.parallelize(Array("hello mysql hadoop", "mysql hello")) .

2021-08-11 09:45:21 254

原创 Scala中的apply()方法和unapply()方法的使用

apply()的使用,apply⽅法⼀般都声明在伴⽣类对象中,可以⽤来实例化伴⽣类的对象unapply()的使用,也被称为提取器object Hello { def main(args: Array[String]): Unit = { val test0 = new Test02("goudan") val test01 = Test02("goduan") val goudan = new Test02("狗蛋", 19) /.

2021-08-05 21:31:13 369

原创 Scala中的对象丶构造器丶单例对象是使用方法

Scala中自定义get和set方法object Test07 { def main(args: Array[String]): Unit = { val person = new Test07 person.name_:("goudan") println(person.name) person.setAge(18) println(person.getAge) }}class Test07{ .

2021-08-05 20:51:33 158

原创 Scala中的模式匹配

match case的语法如下变量 match { case 值 = > 代码}值匹配1.scala中的模式匹配只会匹配到一个分支,不需要使用break语句2.match是表达式,与if表达式一样是有值的3.除了可以匹配常量,还可以匹配变量4.支持模式守卫val ch: Char = 'e'ch match { case 'c' | 'C' => print ("这是c") //添加模式守卫 case _ if ch>'c' => print ("这是其他.

2021-08-05 15:59:11 114

原创 azkaban-web和azkaban-exec的一键启动和关闭(shell脚本)

#!/bin/bashAZKABAN_WEB_PATH=/usr/local/azkaban-web-serverAZKABAN_EXEC_PATH=/usr/local/azkaban-exec-servercase $1 instart)#开启两个exec serverfor host in hadoop02 hadoop03do echo "---------------------$host-----------------------" ssh.

2021-07-26 14:02:45 904

原创 azkaban报错azkaban.jobExecutor.utils.process.ProcessFailureException

java.lang.RuntimeException: azkaban.jobExecutor.utils.process.ProcessFailureException at azkaban.jobExecutor.ProcessJob.run(ProcessJob.java:304) at azkaban.execapp.JobRunner.runJob(JobRunner.java:784) at azkaban.execapp.JobRunner.doRun(JobRunner.java:6.

2021-07-25 17:56:08 1839

原创 sqoop中各种数据的相互导入实例

1.mysql---->HDFS(mysql中的必须是存在的,hdfs中的路径会自动创建,底层就是靠mr实现的)导入含有主键或是没有主键的表sqoop import \--connect jdbc:mysql://hadoop01:3306/mysqldb \--username root \--password 123456 \--table emp \--target-dir hdfs://hadoop01/sqoop/mysqltohdfs/emp \--delete-tar.

2021-07-21 20:26:00 298 1

原创 使用sqoop将mysql数据导入hbase报错

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject at org.apache.sqoop.util.SqoopJsonUtil.getJsonStringforMap(SqoopJsonUtil.java:43) at org.apache.sqoop.SqoopOptions.writeProperties(SqoopOptions.java:785) .

2021-07-21 18:56:53 772

原创 使用Sqoop从mysql导入到hive异常

21/07/20 22:25:39 ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf at org.apache.sqoop.hive.HiveConfig.getHiveConf(HiveConfig.java:50) at org.apache.sqoop.hiv.

2021-07-20 22:29:51 300 2

原创 使用Maven Assembly plugin将依赖打包进jar

在pom.xml配置文件中添加<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive>

2021-07-20 17:12:57 328

原创 Flume中Source丶Channel和Sink的使用场景及使用方法

Flume SourcesAvro Source:监听Avro端口,接受从外部Avro客户端发来的数据流channels 与Source绑定的channel,多个用空格分开type 组件类型,这个是: avrobind 监听的服务器名hostname或者ipport 监听的端口a1.channels=c1a1.sources=s1a1.sinks=r1a1.sources.s1.channels=c1a1.sources.s1.type=avroa1.s...

2021-07-19 21:46:17 416 1

原创 Flume中的自定义拦截器的使用(案例)

1. 自定义拦截器1.1. 需求将event的body中的数据, 以数字开头的, 存储为 hdfs:/hadoop01:8020/flume/number.log s1 将event的body中的数据, 以字母开头的, 存储为 hdfs://hadoop01:8020/flume/character.log s2将event的body中的数据, 其他的开头的, 存储为 hdfs://hadoop01:8020/flume/other.log s3

2021-07-19 13:59:55 584 1

原创 mr和hbase的整合报错Exception in thread “main“ java.lang.IllegalArgumentException...is not a valid DFS file

Exception in thread "main" java.lang.IllegalArgumentException: Pathname /D:/maven/apache-maven-3.6.3/repository/org/apache/hbase/thirdparty/hbase-shaded-gson/3.0.0/hbase-shaded-gson-3.0.0.jar from hdfs://qianfeng01:8020/D:/maven/apache-maven-3.6.3/reposit.

2021-07-17 09:24:17 383

原创 hivesq面试50题

数据01 赵雷 1990-01-01 男02 钱电 1990-12-21 男03 孙风 1990-05-20 男04 李云 1990-08-06 男05 周梅 1991-12-01 女06 吴兰 1992-03-01 女07 郑竹 1989-07-01 女08 王菊 1990-01-20 女01 语文 0202 数学 0103 英语 0301 张三02 李四03 王五01 01 8001 02 9001 03 9902 01 7002 02 6002.

2021-07-14 09:43:59 164

原创 hive中的窗口函数以及应用

1.sum(col2) over(partition by col1 order by col2) : 通过col1分组对col2累计求和2.min(col2) over(partition by col1 order by col2) : 通过col1分组对col2累计求每次的最小值3.max(col2) over(partition by col1 order by col2) : 通过col1分组对col2累计求每次的最大值4.avg(col2) over(partition

2021-07-13 11:26:33 261

原创 在hive中查询结果显示数据库的名称和表名

在/usr/local/hive/conf/hive-site.xml进行添加配置<property> <name>hive.cli.print.header</name> <value>true</value> <description>Whether to print the names of the columns in query output.</description> <

2021-07-12 16:17:45 1176 1

原创 hive中自定义函数的使用

1.编写自定义类public class FirstUDF extends UDF {//重写evaluate方法 public String evaluate(String str){ String result=null; if(!StringUtils.isEmpty(str)){ result=str.toUpperCase(); } return result; }}在pom.xm

2021-07-12 12:06:46 371

原创 hive高频面试题1.7编写连续7天登录的总人数

数据: t1表 Uid dt login_status(1登录成功,0异常) 1 2019-07-11 1 1 2019-07-12 1 1 2019-07-13 1 1 2019-07-14 1 1 2019-07-15 1 1 2019-07-16 1 1 2019-07-17 1 1 2019-07-18 1 2 2019-07-11 1 2 2019-07-12 1 2 2019-07-13 0 2 2019-07-14 1 2 2019-07-15 1 2 2019-.

2021-07-12 10:26:24 202

原创 hive高频面试题1.6统计两个人的通话总时长

有如下通话记录:呼叫 被叫 时长goudan haoge 01:01:01goudan mazi 00:11:21goudan laowang 00:19:01goudan Jingba 00:21:01goudan weige 01:31:17haoge mazi 00:51:01haoge mazi 01:11:19haoge laowang 00:00:21haoge laowang 00:23:01laowang mazi 01:18:01laowang weige .

2021-07-11 19:07:21 364

原创 hive高频面试题1.5关联查询

需求:有如下访客访问次数统计表 t_access_times访客 月份 访问次数A 2015-01 5A 2015-01 15B 2015-01 5A 2015-01 8B 2015-01 25A 2015-01 5A 2015-02 4A 2015-02 6B 2015-02 10B 2015-02 5A 2015-03 16A 2015-03 22B 2015-03 23B 2015-03 10B 2015-03 1需要输出报表:t_access_times_ac.

2021-07-11 10:12:07 96

原创 hive高频面试题1.4课程行转列

数据:t1表id course1,a1,b1,c1,e2,a2,c2,d2,f3,a3,b3,c3,e根据编写sql,得到结果如下(表中的1表示选修,表中的0表示未选修):id a b c d e f1 1 1 1 0 1 02 1 0 1 1 0 13 1 1 1 0 1 0利用聚合函数求出1,0selectid,sum(case course when 'a' then 1 else 0 end) a,sum(case course when '.

2021-07-10 11:30:37 93

原创 hive高频面试题1.3用户标签连接查询

数据:T_1表:Tags1,2,31,22,3T_2表:Id lab1 A2 B3 C根据T_1和T_2表的数据,编写sql实现如下结果:ids tags1,2,3 A,B,C1,2 A,B2,3 B,C1.需要将t_1表中tags炸开,并且显示tagsselectids,tagsfrom t_1lateral view explode(split(tags,",")) tmp as ids2.t_1和t_2进行连接select.

2021-07-10 11:14:43 149

原创 hive高频面试题1.2每个用户连续登陆最大天数

数据:login表uid,date11,2019-08-011,2019-08-021,2019-08-032,2019-08-012,2019-08-023,2019-08-013,2019-08-034,2019-07-284,2019-07-294,2019-08-014,2019-08-024,2019-08-03结果如下:uid cnt_days1 32 23 14 31.先对数据按照uid分组,date1升序进行排序,然后观察selectu.

2021-07-10 10:46:49 208

原创 hive高频面试题1.1 订单、订单类型及时间行列互换

t1表:order_id order_type order_time111 N 10:00111 A 10:05111 B 10:10是用hql获取结果如下:order_id order_type_1 order_type_2 order_time_1 order_time_2111 N A 10:00 .

2021-07-10 10:19:40 174

转载 MapReduce报错Exception in thread “main“ java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio

log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.Exception.

2021-07-04 11:57:43 277

原创 在idea跑本地模式报错Exception in thread “main“ java.io.IOException

Exception in thread "main" java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses. at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:120) at org...

2021-07-04 11:44:43 1253

原创 在集群上运行MapReduce的项目

1.在idea中编写3个类,分别是WordcountMapper,WordcountReduce,WordcountDriverimport org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;

2021-07-03 21:38:01 438 1

原创 搭建高可用中active节点挂掉standby节点不自动切换问题

搭建高可用的时候,其他的都没有问题,都可以出来,就是杀死active节点的时候,standby节点不会自动切换,修改hdfs-site.xml,需要添加上<value>shell(true)</value><property><name>dfs.ha.fencing.methods</name><value>sshfence</value><value>shell(true)</value...

2021-07-03 15:44:17 500 1

原创 Linux中集群的时间同步设置

首先让主机01同步阿里云的时间,然后让其他主机时间同步主机01,这样可以保证在有网的情况下时间的准确性,在没有网的情况下集群中的时间也是同步的。主机011.下载ntp和ntpdateyum -y install ntpyum -y install ntpdate2.设置一个定时器,每分钟都和阿里云的时间进行同步crontab -e添加的内容为:* * * * * /usr/sbin/ntpdate -u ntp.aliyun.com &amp...

2021-07-02 17:42:27 254

原创 完全分布式集群搭建

如果你是从伪分布式过来的,最好先把伪分布式的相关守护进程关闭:stop-all.sh 删除原来伪分布式的相关设置-1. 三台机器的防⽕墙必须是关闭的. -2. 确保三台机器的⽹络配置畅通(NAT模式,静态IP,主机名的配置) -3. 确保/etc/hosts⽂件配置了ip和hostname的映射关系 -4. 确保配置了三台机器的免密登陆认证(克隆会更加⽅便) -5. 确保所有机器时间同步 -6. jdk和hadoop的环境变量配置1. 配置core-site.xm

2021-06-30 19:28:19 120

原创 伪分布式集群搭建

1. 确保防⽕墙是关闭状态。 2. 确保NAT模式和静态IP的确定3. 确保/etc/hosts⽂件⾥, ip和hostname的映射关系 4. 确保免密登陆localhost有效 5. jdk和hadoop的环境变量配置配置伪分布相关的文件配置1. core-site.xml的配置cd $HADOOP_HOME/etc/hadoopvi core-site.xml<configuration> <!-- 配置分布式⽂件系统..

2021-06-30 10:25:09 223

原创 将Linux中的镜像源更换成阿里的镜像源

1.切换目录 cd /etc/yum.repos.dCentOS-Base.repo就是Linux中的镜像源2.将CentOS-Base.repo名字进行修改,有可能以后会用,不要删除mvCentOS-Base.repoCentOS-Base.repo.bak3.安装curlyum -y install curl.x86_644. 安装阿里镜像源curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors...

2021-06-28 08:56:23 1121

原创 在Linux环境下安装JDK

使用二进制方式解压安装1.下载安装包jdk-8u152-linux-x64.tar 并且上传到linux系统中2.解压安装包(建议加压到//usr/local目录下)tar -xvf jdk-8u152-linux-x64.tar3.建议修改jdk名字(方便以后使用)mv jdk1.8.0_152 jdk4.配置环境变量(二选一即可)(1)在~/.bash_profile中配置export JAVA_HOME=/usr/local/jdkexport PAT..

2021-06-27 22:37:46 98

原创 在Linux中环境中安装mysql的步骤以及使用

1.安装mysql-community-libs-5.7.28-1.el7.x86_64.rpmrpm -ivhmysql-community-libs-5.7.28-1.el7.x86_64.rpm2.安装mysql-community-libs-5.7.28-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm3.安装mysql-community-client-5.7.28-1.el7.x8.

2021-06-27 22:07:02 787

原创 java学习总结(概念)

day021.什么是大数据2.大数据的特征3.人机交互的方式4.java的特点5.JDK、JRE、JVM的定义以及关系6.二进制、八进制、十进制、十六进制的开头表示7.java中标识符的命名规则8.数据类型的分类9.基本数据类型表示范围的排序day051.java的内存分区2.什么事方法的重载day063.数组的定义4.基本数据类型和引用数据类型的比较5.数组越界出现的异常6.什么是可变长参数day071.静态成员和非静态成员2

2021-06-14 20:02:59 127

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除