- 博客(62)
- 收藏
- 关注
原创 内部表和外部表区别
一、外部表的创建、load、删除 1.文件在本地而不是在hdfs的时候 1.1 建表时指定location (1)建表并load数据 create external table exTable28 (id int,str string) row format delimited fields terminated by ' ' location '/zgm/test/'; load data local inpath '/zgm2/exe28' into table exTable28;.
2020-08-25 13:25:07
5204
1
原创 spark调优之大rdd倾斜解决:sample采样倾斜key单独进行join
spark调优之随机前缀 当两个大表出现数据倾斜,那么不能用mapjoin(也就是broadcast)来解决的时候,我们可以采用随机前缀+单独join->union正常数据join结果来解决; 代码: 解释: rdd2中key为“001”的数据非常多,导致数据倾斜,那么我们把rdd1、rdd2中的key为001的数据单独拿出来join;剩下的正常的key自己进行join,这两个join的结果最后进行union 对于rdd1的数据,每一条数据加上0、1、2、3、4的前缀,rdd1的数据量变成原来的5倍
2020-08-22 17:04:01
538
原创 zk、hbase、redis保存Sparkstreaming 的offset
一、zk: import cn.qphone.spark.`trait`.LoggerTrait import cn.qphone.spark.utils.{CommonUtils, SparkUtils} import kafka.common.TopicAndPartition import kafka.message.MessageAndMetadata import kafka.serializer.StringDecoder import org.apache.curator.framewo
2020-06-26 21:08:54
325
原创 Hive中建立HBase的映射表
CREATE EXTERNAL TABLE userPhoto( uid string , tag string , tagweight double ) ROW FORMAT SERDE 'org.apache.hadoop.hive.hbase.HBaseSerDe' STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' W...
2020-03-23 19:10:40
573
原创 Spark写数据到HBase
实现的功能: 从hive表中读取订单表,计算每个用户在30天内下单的金额,然后存到HBase package pro3 import org.apache.hadoop.hbase.{HBaseConfiguration, HColumnDescriptor, HTableDescriptor, TableName} import org.apache.hadoop.hbase.clien...
2020-03-23 18:46:24
526
原创 一些数据结构、算法题
//去重复值 val arr: Array[Int] = Array(1,2,3,4,5,1,2,3,4) val set: Set[Int] = Set(arr(0),arr(5),arr(6)) //println(set.toBuffer) //scala的基础题:要求找到出现次数大于一半序列长度的数 val array :Seq[Int] = Se...
2020-03-21 16:11:01
164
原创 Flink笔记01——基础
一、关于slot、parallelism 1.在conf/flink-conf.yaml中有如下内容,显示默认slots、parallelism均为1,我理解的,slots就是可以运行多少任务,parallelism是你让他运行多少任务。 # The heap size for the JobManager JVM jobmanager.heap.size: 1024m # The ...
2020-03-16 22:54:58
390
原创 HDFS——一些规范、命令
1、在load数据到表中的时候,如果,不是local 数据而是HDFS上的数据,而且,是内部表的话,那么数据会被剪切到表的目录下,数据在原本目录下不会存在。 比如load data inpath '/data/landlog' overwrite into table landlog; 在HDFS上的/data/目录下,将没有landlog这个文件,在表的目录下将出现landlog这个文件; ...
2020-03-15 18:00:31
401
原创 hql的优化,
一、求学生选的每门课都及格了的学生 select a.* from student2 a join( select b.sid from sc2 b group by b.sid having min(score)>60) c on a.sid=c.sid; 两个job taken: 84.528 seconds, select a.* from student2 a join s...
2020-03-13 13:38:17
228
原创 关于单链表——求有效节点个数、求倒数第K个节点、反转单链表、倒序输出单链表的内容(递归法和栈法)
package SuanFa.ListNode; import java.util.Stack; public class LN { public static void main(String[] args) { SingleLinkedList proList=new SingleLinkedList(); ProNode p1 = new ...
2020-03-10 16:28:01
288
原创 Zookeeper ——选举机制
目前有5台服务器,每台服务器均没有数据,它们的编号分别是1,2,3,4,5,按编号依次启动,它们的选择举过程如下: 服务器1启动,给自己投票,然后发投票信息,由于其它机器还没有启动所以它收不到反馈信息,服务器1的状态一直属于Looking(选举状态)。 服务器2启动,给自己投票,同时与之前启动的服务器1交换结果,由于服务器2的编号大所以服务器2胜出,但此时投票数没有大于半数,所以两个服务器的状...
2020-03-10 11:20:30
247
1
原创 Sqoop的实际使用
一、简单的测试,查看有哪些数据库 $SQOOP_HOME/bin/sqoop list-databases \ --connect jdbc:mysql://mini1:3306 \ --username hive \ --password hive //可以 二、将数据导入到hive 不指定分隔符的话,在hive中列的分隔符是\001,行的分隔符是\n 验证: $SQOOP_H...
2020-03-09 00:55:36
838
原创 Linux——mysql
service mysqld status //查看状态 service mysql restart //重启 mysql -u root -p //进入mysql 123456 create user "zgm"@"%" identified by "zgm"; create user "zgm2"@"mini1" identified by "zzz"; 创建...
2020-03-08 18:47:38
175
原创 算法01——二分查找、冒泡排序、插入排序、快速排序、归并排序
一、二分查找 package SuanFa.MySearch; public class binSearch { public static void main(String[] args) { int[] a={1,2,3,4,5,6,7}; System.out.println(myBinSerch(a,2)); } pub...
2020-03-04 18:01:16
224
原创 计算机基础知识——java02
一、string是否可以用来做SWITCH的参数? jdk1.7之前,只有byte、short 、char 、int可以做switch的参数,1.7之后,枚举类型、布尔、字符串都可以,string类型是调用了string.hashCode,将string转换为int从而进行判断 二、为什么重写equal()之后还要重写hashcoude() 规范是如果两个对象的equals值相等,那...
2020-03-04 16:53:42
165
原创 计算机基础知识——Java01
一、八种基本数据类型的大小,以及他们的封装类 整数+字符串=字符串 1、包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址,基本类型不是 2、包装类型是引用的传递,基本类型是值的传递 3、声明方式不同,基本数据类型不需要new关键字,而包装类型需要new在堆内存中进行new来分配内存空间 4、存储位置不同,基本数据类型直接将值保存在值栈中,而包装类型是把对象放在堆中,然后通过...
2020-03-04 00:09:54
170
原创 MR——实现二次排序
ps: 一、字符串比较用compareTo()时: 1,长度相同,从第一位开始比较,如果相同返回0,如果不同则马上返回这两个字符的ascii值的差值。 2,长度不同,直接返回长度差值。 二、Integer比较用compareTo()时: 1,对比数字时相同,返回0。 2,对比数字不同时,返回-1。 实现每个人最喜欢的电影topN,按照uid、分数进行排序 一、 RateBea...
2020-03-03 19:07:29
505
原创 HBASE——过滤器实现
package hbasefilter; import HbaseApi.HbaseUtilTool; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.client.Table...
2020-03-03 19:03:29
300
原创 HBASE——协调处理器实现代码
关注表里添加一条信息,那么粉丝表里也添加一条对应信息 package hbase_mr; import HbaseApi.HbaseUtilTool; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellScanner; import org.apache.hadoop.hbase.CellUt...
2020-03-03 18:47:10
304
原创 Hbase——BulkLoad代码
HbaseBulkLoad package hbase_mr; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.TableName; i...
2020-03-03 18:42:10
310
原创 HBASE——使用MR,将HBASE中的数据写入HDFS,将HDFS中的数据写入HBASE:
1、将HBASE中的数据使用MR写入HDFS hadoop jar /ajar/Hbase2Hdfs.jar hbase_mr.Hbase2Hdfs /hbase2hdfs package hbase_mr; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; impor...
2020-03-03 18:39:01
793
原创 MR笔记01——调度、打包运行
一、提交jar包到hadoop之后,怎么运行: hadoop jar /zgm2/wc.jar z1wc.MyRunner /data/wcount /out/zwcount hadoop jar可以换成yarn jar 如果你设置yarn为mapreduce的默认资源调度平台,那么两个命令是一样的 区别: hadoop jar 按mr1或yarn运行job,决定是否配置yarn。y...
2020-03-03 18:32:57
373
原创 大数据——配置19888历史端口
在mapred-site.xml中做如下配置 #参数是Hadoop一个自带的历史服务器的address。 <property> <name>mapreduce.jobhistory.address</name> <value>mini1:10020</value> </property> <property>...
2020-03-03 18:26:29
2415
原创 Hive笔记——影评项目
一、 因为元数据的字段之间用::分割,所以我们使用shell进行一下清洗,将::都转换成逗号 vi change1.sh #!/bin/bash sed "s/::/,/g" /zgm/movies.dat>/zgm/movies2.dat sed "s/::/,/g" /zgm/ratings.dat>/zgm/ratings2.dat sed "s/::/,/...
2020-03-02 22:37:00
928
原创 shell脚本学习笔记
一、引号问题 ls: cannot access /usr/local/spark-2.2.0-bin-hadoop2.6/lib/spark-assembly-*.jar: No such file or directory Logging initialized using configuration in jar:file:/apps/apache-hive-1.2.1-bin/...
2020-03-02 00:04:33
369
原创 hive的几种join、Spark中RDD、DF和DS的几种join
HIVE join left out join right out join full out join left semi join cross join SparkRDD: join leftOutJoin rightOutJoin fullOutJoin 使用示范: val b: RDD[(Int, String)] = a.keyBy(x=>x.length)...
2020-03-01 00:01:42
623
原创 Hive执行顺序
探究一下hql的执行顺序 from … on … join … where … group by … having … select … distinct … order by … limit 之前有个疑惑: explain select sid,min(score) as ms from sc2 where sid>10 group by sid having ms>60...
2020-02-29 22:37:25
875
原创 Spark代码练习——充值SparkSQL实现
数据文件为:“JsonTest02.json” 用SparkCore或SparkSQL实现均可,需求如下: 统计每个用户充值总金额并降序排序(10分) 统计所有系统类型登录总次数并降序排序(10分) 统计所有用户在各省登录的次数的Top3(20分) 部分字段: phoneNum:手机号(用户账号) terminal:系统类型 province:省份 money:充值金额 status:充值状态...
2020-02-27 22:12:11
751
原创 Spark代码练习——CDN日志,SparkCore实现
一、CDN日志练习: 日志格式为: IP 命中率(Hit/Miss) 响应时间 请求时间 请求方法 请求URL 请求协议 状态吗 响应大小 referer 用户代理 100.79.121.48 HIT 33 [15/Feb/2017:00:00:46 +0800] "GET http://cdn.v.abc.com....
2020-02-27 19:00:51
653
原创 Spark笔记——基础底层、sparkcluster任务提交流程
一、driver、executor 1、SparkContext是在哪一端生成的? Driver 2、RDD是在哪一端生成的? Driver 3、调用RDD的算子(Transformation和Action)是在哪一端调用的? Driver 4、RDD在调用Transformation和Action时需要传入一个函数,函数是在哪一端声明和传入的? Driver 5、RDD在调用Tr...
2020-02-27 16:53:21
301
原创 SparkStreaming笔记01——基础概念、原语
一、基础概念 Spark Streaming类似于Apache Storm,用于流式数据的处理。根据其官方文档介绍,Spark Streaming有高吞吐量和容错能力强等特点。Spark Streaming支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如:map、reduce、join、windo...
2020-02-26 21:03:19
529
原创 SparkStreaming笔记02——wordcount、UpdateStateByKey、Transform 、Window Operations
一、SparkStreamingWC 这里的wordcount没有实现累加, 本地运行以下代码后,在mini1上输入:nc -lk 9999 然后输入单词,在idea的控制台上就可以出现单词统计结果 import org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream} import org.apache.sp...
2020-02-26 20:51:35
311
原创 kafka笔记02——producer.properties、counsumer.properties、server.properties
这三个文件放在kafka的config目录之下 一、producer.properties #指定kafka节点列表,用于获取metadata,不必全部指定 metadata.broker.list=kafka01:9092,kafka02:9092 # 指定分区处理类。默认kafka.producer.DefaultPartitioner,表通过key哈希到对应分区 # partitio...
2020-02-25 23:20:33
526
原创 Kafka笔记01——基础概念、基础linux操作、创建简单生产者、消费者
1.kafka定义 Kafka是一个分布式消息队列:生产者、消费者的功能。 Kafka可以解决:并发、解耦、异步 2.kafka主要组件 Producer: 生产者负责获取数据并将数据上传到Kafka的,比如flume、logstash 生产者往往是监控一个或多个目录(文件)将数据对接到Kafka 生产者集群是由多个进程组成,一个生产者可以作...
2020-02-25 23:13:46
554
原创 SparkSQL代码04——输入输出、JDBC
一、SparkSQL输入输出 1.1 SparkSQL输入 写法一: SparkSession对象.read.json("路径") SparkSession对象.read.jdbc("路径") SparkSession对象.read.csv("路径") SparkSession对象.read. parquet("路径") Parquet格式经常在Hadoop生态圈中被使用,它也支持Sp...
2020-02-24 17:44:13
445
原创 SparkSQL代码笔记03——连接hive
spark集群 /usr/local/spark-2.2.0-bin-hadoop2.6/bin/spark-submit \ --class scalaBase.day15.HiveCodeDemo2 \ --master spark://mini1:7077 \ --executor-memory 512m \ --total-executor-cores 2 \ --jars /ajar...
2020-02-24 13:09:08
602
原创 SparkSQL代码笔记02——UDF、UDAF
一、UDF package com.zgm.sc.day14 import org.apache.spark.sql.SparkSession /** * 用udf实现字符串拼接 */ object UDFDemo1 { def main(args: Array[String]): Unit = { val spark = SparkSession ....
2020-02-23 16:39:39
297
原创 SparkSQL代码笔记01——创建SparkSession、RDD和DF和DS相互转换、DSL和SQL风格
一、创建sparksession的几种方法: package scalaBase.day13 import org.apache.spark.SparkConf import org.apache.spark.sql.{DataFrame, SparkSession} object sparkSessionDemo1 { def main(args: Array[String]): U...
2020-02-22 23:13:45
2123
原创 SparkCore代码笔记05——JDBCRDD
查询mysql数据库结果,生成一个rdd 需要导入依赖 mysql-connector-java这个依赖 package com.qf.gp1921.day12 import java.sql.DriverManager import org.apache.spark.rdd.JdbcRDD import org.apache.spark.{SparkConf, SparkContex...
2020-02-21 19:06:25
262
原创 SparkCore代码笔记04——sparkcore 求各省ip访问量
任务: http.log中有访问记录,第二项是ip地址 20090121000132095572000|125.213.100.123|show.51.com。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ip.txt中有ip的基本信息 startIP endIP startIP(long类型的) endIP(long类型) 洲 国家 省、、、、、 1.0.1...
2020-02-21 18:58:39
774
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅