- 博客(23)
- 收藏
- 关注
转载 spark脚本
spark-submit脚本#!/bin/shsource ExitCodeCheck.shexitCodeCheck(){if [ $1 -ne 0 ]; then echo 'shell execute return value is' $1 'is not 0' exit $1else echo 'shell execute success'fi}opts=$@ getparam(){arg=$1echo $opts |xargs -n1 |cut -b 2-
2021-05-12 10:27:55 2511
转载 sqoop脚本
sqoop导出脚本(不同库)#!/bin/shsource ExitCodeCheck.sh opts=$@ getparam(){arg=$1echo $opts |xargs -n1 |cut -b 2- |awk -F'=' '{if($1=="'"$arg"'") print $2}'} IncStart=`getparam inc_start`IncEnd=`getparam inc_end`oracle_connection=`getparam jdbc_s
2021-05-12 10:24:39 1202
原创 scala代码-02
def main(args: Array[String]): Unit = { // TODO Scala - 小练习 - WordCount // TODO 需求 : 统计单词出现的次数,并且按照次数的大小取前3名 // TODO 1. 准备数据 val list : List[String] = List( "Hello Scala Spark Flink", "Hello Scala Sp
2020-11-27 23:17:07 250
原创 Structured Streaming
第 1 章 Structured Streaming 概述从 spark2.0 开始, spark 引入了一套新的流式计算模型: Structured Streaming.该组件进一步降低了处理数据的延迟时间, 它实现了“有且仅有一次(Exectly Once)” 语义, 可以保证数据被精准消费.Structured Streaming 基于 Spark SQl 引擎, 是一个具有弹性和容错的流式处理引擎. 使用 Structure Streaming 处理流式计算的方式和使用批处理计算静态数据(表中
2020-11-15 21:39:48 902
原创 sparkcore
第1章 Spark概述1.4 Spark or HadoopHadoop的MR框架和Spark框架都是数据处理框架,那么我们在使用时如何选择呢?Hadoop MapReduce由于其设计初衷并不是为了满足循环迭代式数据流处理,因此在多并行运行的数据可复用场景(如:机器学习、图挖掘算法、交互式数据挖掘算法)中存在诸多计算效率等问题。所以Spark应运而生,Spark就是在传统的MapReduce 计算框架的基础上,利用其计算过程的优化,从而大大加快了数据分析、挖掘的运行和读写速度,并将计算单元缩小到更
2020-11-11 00:32:42 343
原创 数仓搭建-ADS层
7.1 新数据生成1)重启行为数据通道[atguigu@hadoop102 module]$ cluster.sh stop[atguigu@hadoop102 module]$ cluster.sh start2)修改/opt/module/applog下的application.properties#业务日期mock.date=2020-06-16注意:分发至其他需要生成数据的节点[atguigu@hadoop102 applog]$ xsync application.proper
2020-11-10 23:35:09 1108
原创 数仓搭建-DWT层
6.1 设备主题宽表累积型表:1、找old (在当前层找,也就是当前要插入数据的表)new(当前层的下一层找)2、full outer join1)建表语句hive (gmall)> drop table if exists dwt_uv_topic;create external table dwt_uv_topic( `mid_id` string comment '设备id', `brand` string comment '手机品牌', `model`
2020-11-10 23:27:35 441
原创 数仓搭建-DWS层
5.1 业务术语1)用户用户以设备为判断标准,在移动统计中,每个独立设备认为是一个独立用户。(没有注册账号,也认为是一个用户),Android系统根据IMEI号,IOS系统根据OpenUDID来标识一个独立用户,每部手机一个用户。2)新增用户首次联网使用应用的用户。如果一个用户首次打开某APP,那这个用户定义为新增用户;卸载再安装的设备,不会被算作一次新增。新增用户包括日新增用户、周新增用户、月新增用户。3)活跃用户打开应用的用户即为活跃用户,不考虑用户的使用情况。每天一台设备打开多次会被计为一
2020-11-10 23:24:54 863
原创 数仓搭建-DWD层
4.1 DWD层(用户行为日志解析)4.1.1 日志格式回顾(1)页面埋点日志(2)启动日志4.1.2 get_json_object函数使用1)数据[{“name”:“大郎”,“sex”:“男”,“age”:“25”},{“name”:“西门庆”,“sex”:“男”,“age”:“47”}]2)取出第一个json对象hive (gmall)>select get_json_object('[{"name":"大郎","sex":"男","age":"25"},{"name":"西门
2020-11-10 23:19:35 955
原创 封装
抽象类提取BaseAppV2import com.atguigu.gmall.realtime.util.MyKafkaUtilimport org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.DStreamimport org.apache.spark.streaming.{Seconds, StreamingContext}abstract class BaseAppV2 { val topics: .
2020-11-08 23:04:35 122
原创 scala代码-01
HelloWorld案例object Scala01_HelloWorld { /* 1. object 是执行程序的一个固定写法 java : class Test { public String name = "zhangsan"; public static void main( String[] args ) { } } 2
2020-11-07 18:43:25 650
原创 scala
1.4 HelloWorld案例Scala程序基本结构class Hello { /* 定义变量: val/var 变量名:变量类型 = 变量值 */ val a: Int = 1 /* 定义方法: def 函数名(参数名:参数类型):返回值类型={方法体} */ def hello(arg: String): Unit = { println(arg) }}object Hello { /* Scala程序的入口 */ d
2020-11-04 22:38:39 371
原创 redis
六、Redis常用数据结构1.总体结构Redis中的数据,总体上是键值对,不同数据类型指的是键值对中值的类型。2.string类型Redis中最基本的类型,它是key对应的一个单一值。二进制安全,不必担心由于编码等问题导致二进制数据变化。所以redis的string可以包含任何数据,比如jpg图片或者序列化的对象。Redis中一个字符串值的最大容量是512M。3.list类型Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。它的底层是
2020-11-04 22:26:47 84
原创 sparkSQL
生成模拟数据import org.apache.spark.SparkConfimport org.apache.spark.sql.SparkSessionobject SparkSQL16_Req_Mock { def main(args: Array[String]): Unit = { System.setProperty("HADOOP_USER_NAME", "root") // TODO SparkSQL val sparkCo
2020-11-04 22:07:42 205
原创 数仓搭建
Yarn容量调度器并发度问题演示Yarn默认调度器为Capacity Scheduler(容量调度器),且默认只有一个队列——default。如果队列中执行第一个任务资源不够,就不会再执行第二个任务,一直等到第一个任务执行完毕。(1)启动1个hive客户端,执行以下插入数据的sql语句。hive (default)> insert into table student values(1,'abc');执行该语句,hive会初始化一个Spark Session,用以执行hive on spar
2020-11-03 23:09:49 191
原创 hadoop
常用端口号dfs.namenode.http-address: 50070/9870dfs.datanode.http-address:50075/9864SecondaryNameNode辅助名称节点端口号:50090/9868dfs.datanode.address:50010/9866fs.defaultFS:8020 /9000/9820yarn.resourcemanager.webapp.address:8088历史服务器web访问端口:198881) 常用端口号 hdfs
2020-11-03 22:51:27 123
原创 shell
第1章 Shell概述1)Linux提供的Shell解析器有:[root@hadoop101 ~]$ cat /etc/shells/bin/sh/bin/bash/sbin/nologin/usr/bin/sh/usr/bin/bash/usr/sbin/nologin/bin/tcsh/bin/csh2)bash和sh的关系[root@hadoop101 bin]$ ll | grep bash-rwxr-xr-x. 1 root root 941880 5月 11 2016
2020-11-03 22:12:18 145
原创 git
6Git常用命令命令名称 命令作用git init 初始化本地库git config --global user.name 用户名 设置用户签名的用户名部分git config --global user.email 邮箱 设置用户签名的邮箱部分git status 查看本地库状态git add 文件名 添加到暂存区git commit -m “日志信息” 文件名 提交到本地库git reflog、git log 查看历史记录git reset --hard 版本号 版本穿梭HEAD -
2020-11-02 23:24:43 180 1
原创 hbase
Hbase只适合查结果和存结果,不适合做数据分析。hive数仓适合数据分析--单个启动[atguigu@hadoop102 hbase]$ bin/hbase-daemon.sh start master[atguigu@hadoop102 hbase]$ bin/hbase-daemon.sh start regionserverHregionServerHMaster[atguigu@hadoop103 hbase]$ bin/hbase-daemon.sh stop master--群
2020-11-02 22:26:12 224
原创 sqoop
同步策略数据同步策略的类型包括:全量表、增量表、新增及变化表、特殊表全量表:存储完整的数据。增量表:存储新增加的数据。新增及变化表:存储新增加的数据和变化的数据。特殊表:只需要存储一次。脚本编写1)在/home/ss/bin目录下创建[atguigu@hadoop102 bin]$ vim mysql_to_hdfs.sh添加如下内容:#! /bin/bashsqoop=/opt/module/sqoop/bin/sqoopif [ -n "$2" ] ;then
2020-11-02 22:06:48 140
原创 hive
Hive访问--先开启服务[atguigu@hadoop102 hive]$ nohup hive --service metastore>log.txt 2>&1 &[atguigu@hadoop102 hive]$ nohup hive --service hiveserver2>log2.txt 2>&1 &--启动beeline客户端[atguigu@hadoop102 hive]$ bin/beeline -u jdbc:hive
2020-11-02 21:52:30 440
原创 sparkstreaming实时
pom依赖<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> </dependency> <dependency> <grou
2020-11-02 21:19:29 261
原创 SparkStreaming
pom依赖<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.0.0</version> </dependency>
2020-11-02 20:58:08 198 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人