- 博客(55)
- 收藏
- 关注
原创 使用时间函数写需求_SQL记录
交易表结构为user_id(用户ID),order_id(订单ID),pay_time(付款时间),order_amount(金额) 写sql查询过去一个月付款用户量(提示:用户量需去重)最高的三天分别是哪几天? 写sql查询昨天每个用户最后付款的订单ID及金额 思路:求最高的三天,肯定是先排序,后limit. 先求出每天的付款用户量,既然每天,那肯定要按天分组了;按照题目要求过滤条件有:1.过去一个月 2.付款用户(即要排除未付款的用户),另外求用户量需要去重,题目中也有提示,因为
2021-11-14 23:50:41 369 1
原创 Hive QL解题流程详解五
第9题1)有三张表分别为会员表(member)销售表(sale)退货表(regoods)(1)会员表有字段memberid(会员id,主键)credits(积分);(2)销售表有字段memberid(会员id,外键)购买金额(MNAccount);(3)退货表中有字段memberid(会员id,外键)退货金额(RMNAccount)。2)业务说明(1)销售表中的销售记录可以是会员购买,也可以是非会员购买。(即销售表中的memberid可以为空);(2)销售表中的一个会员可以有多条
2021-11-02 23:38:14 1763
原创 Hive QL解题流程详解四
第7题有一个线上服务器访问日志格式如下(用sql答题)时间 接口 ip地址2016-11-09 11:22:05 /api/user/login 110.23.5.332016-11-09 11:23:10 /api/user/detail 57.3.2.16.....2016-11-09 23:59:40 /api/user/login 200.6.5.166数据集2016-11-09 14:22:05 /api/user/login 110.23.5.33201
2021-11-02 00:13:56 1035
原创 Hive QL解题流程详解三
第5题有日志如下,请写出代码求得所有用户和活跃用户的总数及平均年龄。(活跃用户指连续两天都有访问记录的用户)日期 用户 年龄数据集2019-02-11,test_1,232019-02-11,test_2,192019-02-11,test_3,392019-02-11,test_1,232019-02-11,test_3,392019-02-11,test_1,232019-02-12,test_2,192019-02-13,test_1,232019-02-15,test_
2021-11-02 00:12:28 813
原创 Hive QL解题流程详解二
第3题有50W个京东店铺,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志,访问日志存储的表名为Visit,访客的用户id为user_id,被访问的店铺名称为shop,请统计:1)每个店铺的UV(访客数)2)每个店铺访问次数top3的访客信息。输出店铺名称、访客id、访问次数数据集u1 au2 bu1 bu1 au3 cu4 bu1 au2 cu5 bu4 bu6 cu2 cu1 bu2 au2 au3
2021-10-31 21:18:09 539
原创 Hive QL解题流程详解一
第1题表结构:uid,subject_id,score求:找出所有科目成绩都大于某一学科平均成绩的学生分析: 要求每个学生的平均成绩 每个学生的每科成绩和平均成绩进行比较数据集如下1001 01 901001 02 901001 03 901002 01 851002 02 851002 03 701003 01 701003 02 701003 03 851) 建表语句create tabl...
2021-10-31 21:16:07 449
原创 Spark 使用局部聚合+全局聚合解决数据倾斜问题
Spark中的数据倾斜问题主要指shuffle过程中出现的数据倾斜问题,是由于不同的key对应的数据量不同导致的不同task所处理的数据量不同的问题。例如,reduced端一共要处理100万条数据,第一个和第二个task分别被分配到了1万条数据,计算5分钟内完成,第三个task分配到了98万数据,此时第三个task可能需要10个小时完成,这使得整个Spark作业需要10个小时才能运行完成,这就是数据倾斜所带来的后果。import org.apache.spark.rdd.RDDimport .
2021-10-27 23:49:08 314
原创 Spark SQL创建UDF&UDAF案例详解
UDF:即用户自定义函数UDAF:即用户自定义聚合函数#UDF案例一:import org.apache.spark.sql.{DataFrame, SparkSession}//用户自定义函数object _UdfDemo1 { def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession .builder() .master("
2021-10-27 23:41:12 400
原创 SparkSQL 经典案例(SQL&DSL)风格详解
案例一:连续活跃用户案例#SQL风格import org.apache.spark.sql.catalyst.plans.logical.Windowimport org.apache.spark.sql.{DataFrame, SparkSession}//连续活跃用户案例//求连续登录天数大于或等于两天的用户记录object ContenueActiveUser_SQL { def main(args: Array[String]): Unit = { //获取
2021-10-26 16:59:46 895 1
原创 SparkSQL 调用Create方法获取DataFrame和DataSet案例详解
调用create方法获取DataFrameimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.types.{LongType, StringType, StructType}import org.apache.spark.sql.{DataFrame, Row, SparkSession, types}/** * 一、可以调用create方法构建DF * Javabeen + 反射 */object _01DFCreat
2021-10-26 16:47:34 367
原创 常用正则表达式汇总-附带详解案例
-常用字符 -主要作用 -备注 \ \ 反斜线 \ 一个\是转义 [abc] a、b、c简单类 [ ]表示闭区间 [^abc] 任何字符,除了a、b或c(否定) [a-zA-Z] a到z或A到Z,两头的字母包括在内(范围) [a-d[m-p]] a到d或m到p:[a-dm-p](并集) [a-z&&[def]] d、e或f(交集) [a...
2021-10-25 00:14:18 118
原创 Spark 场景题详解
第一题:有数据文件test.txt,分隔符为“\t”,字段有id、time、url,用SparkCore实现分组取topn。求搜索引擎被使用最多的前三名样例数据如下:2 11:08:23 google3 12:09:11 baidu1 08:45:56 sohu2 16:42:17 yahoo1 23:10:34 baidu5 06:23:05 google6 07:45:56 sohu4 ...
2021-10-25 00:04:33 585
原创 Spark KV类型算子案例详解二
6.import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}object _06TestAggregateByKey_exercise { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("test").setMaster("local[*]") v...
2021-10-20 23:57:46 238
原创 Spark KV类型算子案例详解一
1.import org.apache.spark.{HashPartitioner, SparkConf, SparkContext}import org.apache.spark.rdd.RDD//kv类型算子//PartitionBy:指定分区器来对上游的数据进行分区object _01PartitonByDemo { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMas...
2021-10-20 23:52:40 183
原创 Spark 双Value类型算子案例详解
1.import org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.rdd.RDD//测试 RDD之间的交集、并集、差集、拉链操作object _01TestDoubleValue { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local").setAppName("getRDD...
2021-10-20 00:35:35 256
原创 Spark 单Value类型算子案例详解
1.import org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.rdd.RDD//测试Distinct函数object _01DistinctDemo { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local").setAppName("getRDD") val...
2021-10-20 00:23:14 243
原创 Spark 获取RDD案例详解
1)获取内存中的RDDimport org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}//从内存中获取RDDobject _01FromMemory { def main(args: Array[String]): Unit = { //配置文件 val conf: SparkConf = new SparkConf().setMaster("local")....
2021-10-19 00:07:01 1422
原创 Spark 挑战WordCount的多种写法
pox.xml文件导入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.a...
2021-10-19 00:03:59 141
原创 Scala 挑战练习题 day-04
//tuple二元组object _05Demo { def main(args: Array[String]): Unit = { /** * 元组 (,) 不可变的集合 * 可通过小括号定义 */ val t = (1,3,4,5,6) val t2 = Tuple5(1,3,4,5,6) //通过下_的方式获取数据 println(t2._3)...
2021-10-17 23:51:52 145
原创 Scala 挑战练习题 day-03
注:主要是对一些常用的语句进行案例演示//高阶函数的练习/** 编写函数,输出一个集合* 对应给定区间内给定函数的输入和输出*/object _01Demo { def main(args: Array[String]): Unit = { println(f1(x => x * x, -4, 4).mkString) //(4,16)(3,9)(2,4)(1,1)(0,0)(-1,1)(-2,4)(-3,9)(-4,16) ...
2021-10-17 23:49:36 177
原创 Scala 挑战练习题 day-02
数据结构篇: package com.qf.scala.exercise import scala.collection.mutable //编写一段WordCount函数, // 统计传入的字符串中单词的个数 object _dya02Ex01 { def main(args: Array[String]): Unit = { //调用 wordCount("anything is poss.
2021-10-15 00:52:18 316
原创 Scala 挑战练习题 day-01
Sala基础篇:1.在Scala REPL中,计算3的平方根,然后再对该值求平方。现在,这个结果与3相差多少?package com.qf.scala.exercise/*在Scala REPL中,计算3的平方根,然后再对该值求平方。 现在,这个结果与3相差多少?*/object _01Exercise { def main(args: Array[String]): Unit = { //计算3的平方根 val num = scala.math.sqrt(3) ...
2021-10-14 00:13:14 601
原创 Scala案例详解
1.编写一个方法,getValues(arrLArray[Int],v:Int)返回数组中 小于v,等于v,大于v的元素个数,要求三个值一起返回object _01WorkGetValues { def main(args: Array[String]): Unit = { //定义一个数组 val arr:Array[Int] = Array(1,3,4,6,7,4,7,8,9,3) //v=6 计算大于6 小于6 等于6 val temp = getCount.
2021-10-12 23:48:20 492
原创 Scala语言基础
Scala是什么?Scala的预期目标是将面向对象、函数式编程和强大的类型系统结合起来,同时让人要能写出优雅、简洁代码。scala采用了java语言的大部分语法,表达式、语句、和代码块和Java一样,还有类、包和引用的语法Scala的语言特点?1. 面向对象的语言2. 面向函数式编程的语言3. 静态的语言4. 扩展性良好5. 支持Actor并发模型(多线程)scala编程语言的规范?4. scala的语法缩进要使用空格、不要使用tab键7. 空行的目的,用于逻
2021-10-12 23:37:51 286
原创 Scala小项目之万年历
import java.time.Yearimport scala.io.StdIn//实现万年历object _01perpetualCalendar { def main(args: Array[String]): Unit = { println("请输入年") var year = StdIn.readInt() println("请输入月") var month = StdIn.readInt() if (isLeapYear(year)) .
2021-10-11 00:42:49 379
原创 Hive QL的经典题详解
第一题:a_test、b_test、c_test三个hive表 每个表中都只有一列int类型且列名相同,求三个表中互不重复的数a.txt b.txt c.txt1 2 12 3 23 11 34 12 115 14 56 15 67 16 78 18 89 35 20
2021-10-10 12:05:30 375
原创 Hive QL场景题第八部分详解
SQL的场景题分为八个小部分,每一个是5题。36、需求如下:千锋好程序大数据学院有用户表user(uid,name) 以及黑名单BanUser(uid)1. 用left join 方式写sql查出所有不在黑名单的用户信息2. 用not exists 方法写sql查询所有不在黑名单的用户信息create table u( id string, name string )row format delimited fields terminated by ',' ;cre
2021-10-06 00:13:36 202
原创 Hive QL场景题第七部分详解
31、一张大表A(上亿条记录)和小表B(几千条记录),如果join出现数据倾斜,有什么解决办法?略32、有如下三张表:表login_a(登录表):ds user_id 2019-08-06 12019-08-06 22019-08-06 32019-08-06 4create table login_a(ds date,user_id int)row format delimitedfields terminated by ' ';load data l
2021-10-06 00:10:35 216
原创 Hive QL场景题第六部分详解
26、请使用sql计算pv、uv?数据:t1表uid dt url1 2019-08-06 http://www.baidu.com2 2019-08-06 http://www.baidu.com3 2019-08-06 http://www.baidu.com3 2019-08-06 http://www.soho.com3 2019-08-06 http://www.meituan.com3 2019-08-06结果如下:dt uv pv 2019-08-
2021-10-06 00:08:51 213
原创 Hive QL场景题第五部分详解
21、使用sql实现如下:样例数据: t1表gender,cookie,ip,timestampe,ua F,1707041428491566106,111.200.195.186,1208524973899,Dalvik%2F2.1.0%20%28Linux%3B%20U%3B%20Android ...具体数据如下图将图片中的awk修改为使用sql编写,然后将上诉题作出回答?统计pv/uv的使用sql,其它问题语言描述即可。22、使用hive求出两个数据集的差集?
2021-10-03 16:21:06 208
原创 Hive QL场景题第四部分详解
16、时间格式转换:yyyyMMdd -> yyyy-MM-dd数据: dt表2019073020190731编写sql实现如下的结果:2019-07-302019-07-31create table dt( dt string );load data local inpath './hivedata/dt.txt' overwrite into table dt; result:hive (mydbhive)> select f
2021-10-03 16:08:10 117
原创 Hive QL场景题第三部分详解
11、行转列(行是水平、列是垂直 )(行是从左往右,列是从前往后)数据: t4表:id tag flag a b 2a b 1a b 3c d 6c d 8c d 8编写sql实现如下结果:id tag flag a b 1|2|3c d 6|8create table t4( id string, tag string, flag int )row format delimited fields terminated by ' '
2021-10-03 15:32:10 178
原创 Hbase的本地模式与完全分布式安装步骤详解
本地模式:在指定的机器上,例如我的机器是qianfeng01、qianfeng02、qianfeng031.上传、解压到指定路径[root@qianfeng01 local]# tar -zxvf hbase-1.2.1-bin.tar.gz -C /usr/local2. 更名[root@qianfeng01 local]# mv hbase-1.2.1 hbase3.修改环境变量vi /etc/profile如下:#hbase environmentexport.
2021-09-30 01:06:59 210
原创 Hive QL场景题第二部分详解
6、编写sql语句实现每班前三名,分数一样不并列,同时求出前三名按名次排序的一次的分差:数据: stu表Stu_no class score 1 1901 902 1901 903 1901 834 1901 605 1902 666 1902 237 1902 998 1902 679 1902 87drop table stu;create table stu( Stu_
2021-09-30 00:57:24 154
原创 Hive QL场景题第一部分详解
备注:场景题是50道挑战题的提升,每日挑战五题第一题:了解哪些窗口函数,都是什么功能?找一个在某个业务中的应用? 手写窗口函数及功能意义,同时随便写一个带窗口函数的sql,并说明其sql的含义。窗口函数:通常格式为 可用函数+over()函数# 查询所有明细select * from t_order;# 查询总量select count(*) from t_order;# 等价于select *,count(*) over() from t_order;2、求出每个栏目的被
2021-09-28 23:07:01 199
原创 Linux常用命令
1.vi脚本快键键移动:# 要加shift键:#H:移动到当前屏幕的最上一行的行首 --header#M:移动到当前屏幕的中间一行的行首 --中间M#L: 移动到当前屏幕的最下一行的行首 --Leavegg:移动到这个文件的第一行,相当于1G (常用) --同HG:移动到这个文件的最后一行(常用) --同L删除单个字符:小x: --向后删除一个字符大X: --向前删除一个字符 nx: --n为数字,连续向后删除n个字符。删除:以行为单位.
2021-09-28 22:53:55 162
原创 Hive QL 50道挑战题第一、二部分详解
一.数据准备---------------------表名和字段-------------------学生表--Student(s_id,s_name,s_birth,s_sex) 学生编号,学生姓名, 出生年月,学生性别--课程表--Course(c_id,c_name,t_id) 课程编号, 课程名称, 教师编号--教师表--Teacher(t_id,t_name) 教师编号,教师姓名--成绩表--Score(s_id,c_id,s_score) 学生编号,课程编号,分数
2021-09-28 00:30:45 202
原创 Hive QL 50道挑战题第五部分详解
一.数据准备---------------------表名和字段-------------------学生表--Student(s_id,s_name,s_birth,s_sex) 学生编号,学生姓名, 出生年月,学生性别--课程表--Course(c_id,c_name,t_id) 课程编号, 课程名称, 教师编号--教师表--Teacher(t_id,t_name) 教师编号,教师姓名--成绩表--Score(s_id,c_id,s_score) 学生编号,课程编号,分数
2021-09-28 00:23:31 169
原创 Hive QL 50道挑战题第四部分详解
一.数据准备---------------------表名和字段-------------------学生表--Student(s_id,s_name,s_birth,s_sex) 学生编号,学生姓名, 出生年月,学生性别--课程表--Course(c_id,c_name,t_id) 课程编号, 课程名称, 教师编号--教师表--Teacher(t_id,t_name) 教师编号,教师姓名--成绩表--Score(s_id,c_id,s_score) 学生编号,课程编号,分数
2021-09-28 00:19:26 392
原创 Hive QL 50道挑战题第三部分详解
一.数据准备---------------------表名和字段-------------------学生表--Student(s_id,s_name,s_birth,s_sex) 学生编号,学生姓名, 出生年月,学生性别--课程表--Course(c_id,c_name,t_id) 课程编号, 课程名称, 教师编号--教师表--Teacher(t_id,t_name) 教师编号,教师姓名--成绩表--Score(s_id,c_id,s_score) 学生编号,课程编号,分数
2021-09-28 00:13:30 190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人