- 博客(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 312
原创 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 3130 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 2758
原创 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 222
原创 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 971
原创 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 277
原创 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 414
原创 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 184
原创 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 134
原创 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 960
原创 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 1913
原创 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 325 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 805
原创 使用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 326 2
原创 使用Maven Assembly plugin将依赖打包进jar
在pom.xml配置文件中添加<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive>
2021-07-20 17:12:57 361
原创 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 440 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 608 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 411
原创 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 195
原创 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 295
原创 在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 1223 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 401
原创 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 230
原创 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 392
原创 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 107
原创 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 108
原创 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 170
原创 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 231
原创 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 189
转载 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 298
原创 在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 1356
原创 在集群上运行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 472 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 538 1
原创 Linux中集群的时间同步设置
首先让主机01同步阿里云的时间,然后让其他主机时间同步主机01,这样可以保证在有网的情况下时间的准确性,在没有网的情况下集群中的时间也是同步的。主机011.下载ntp和ntpdateyum -y install ntpyum -y install ntpdate2.设置一个定时器,每分钟都和阿里云的时间进行同步crontab -e添加的内容为:* * * * * /usr/sbin/ntpdate -u ntp.aliyun.com &...
2021-07-02 17:42:27 288
原创 完全分布式集群搭建
如果你是从伪分布式过来的,最好先把伪分布式的相关守护进程关闭: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 144
原创 伪分布式集群搭建
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 264
原创 将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 1172
原创 在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 140
原创 在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 813
原创 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 154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人