自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ElasticSearch安装出现的问题

1、默认配置单机版安装若是运⾏在root⽤户下,则会出现此错误,要切换为普通用户切换为普通用户后出现的问题:权限不够解决办法:2、ES单机定制版安装由于:由于ES服务默认只能本机访问,所以在开发机上启动的服务,我想在本地通过浏览器连接是访问不了的所以我们将默认配置单机版改为ES单机定制版将/usr/local/elasticsearch-6.5.3/config/elasticsearch.yml中 修改network.host: 为network.host: ...

2021-09-23 15:44:53 488

原创 小白学scala日记——导包问题

出现错误的原因没有导包:

2021-09-14 16:43:10 288

原创 小白学spark日记——idea中用Spark Stuctured Streaming出现的问题

问题一:SparkStucturedStreaming没有指定运行地点,则认为是在本地虚拟机上运行,但配置文件中为hdfs两者冲突,需要配置问题二:Hadoop权限问题:添加:

2021-09-14 16:27:21 172

原创 小白学hive日记——hive运作错误

没起matestore

2021-09-14 16:20:21 153

原创 小白学presto日记——GROUP BY

select logday,app_version,element_page,count(1) as pv from ods_news.event where logday=format_datetime(cast('2020-08-01' as timestamp),'yyyyMMdd') and app_version!='' group by 1,2,3presto GROUP BY 子句对 SELECT 语句的输出进行分组, 分组中是匹配值的数据行。 Group BY 子句支持任意表..

2021-09-14 16:17:16 713

原创 小白学presto日记——presto运行出错

代码:create table dwb_news.rsu comment 'retention speed up table'with (format = 'ORC')aswith t1 as(selectdistinct_id as uid ,logday,date_diff('day', from_iso8601_timestamp('2020-08-01'), from_unixtime(ctime/1000))as gapfrom ods_news.eventwhere lo

2021-09-14 16:10:21 402

原创 小白学Spark——SparkSQL 读取外部表异常

解决方案二:

2021-09-14 15:50:49 243

原创 小白学spark日记——SparkStreaming使用textFileStream不能显示数据的问题

第一个文件中的内容不能显示,第二个文件中的内容可以显示。原因可能在于,第一个文件是文件启动之前才创建的,修改时间在程序运行之后,则SparkStreaming认为这个文件已经访问过了,第二个文件是文件启动才创建的,修改时间跟创建时间都在程序运行之后,则可以显示。...

2021-08-25 09:20:08 685

原创 小白学spark日记——map、mapValues、flatMapValues、flatMap、filterByRange、filter

转换算子: mapValues注意: 只针对PariedRDD,也就是说RDD描述的数据是若干个键值对(其实,这里可以操作的数据,可以可以是RDD(Tuple2))逻辑: 对键值对的值做映射,不对键做任何处理转换算子: map逻辑: 对RDD中的每一个元素进行映射,映射为指定的值对每一个分区中的每一个数据进行映射案例对比:import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}o

2021-08-22 17:32:31 981

原创 小白学spark日记day1——RDD和算子

RDD:弹性分布式数据集RDD的创建(RDD不存数据只是一个抽象的描述) - 通过集合创建RDD - parallelize - makeRDD - 通过文件创建RDD - textFile总结(RDD的五⼤特征):1.RDD可以看做是⼀些列partition所组成的2.RDD之间的依赖关系3.算⼦是作⽤在partition之上的4.分区器是作⽤在kv形式的RDD上5.partition提供的最佳计算位...

2021-08-22 15:02:06 245

原创 小白学scala日记——List is not a value

出现List is not a value的问题解决办法导包(import scala.collection.immutable.List):

2021-08-22 11:41:31 497

原创 小白学scala日记day5——高阶函数

高阶函数定义:高阶函数是指该函数的参数是函数,或者返回值是函数。/** * 高阶函数: * 当一个函数的参数或者返回值为其他的函数,这样的函数就是高阶函数 */object functional01 { def main(args: Array[String]): Unit = { // 1. 调用方法,传入的参数为函数 val f: (Int, Int) => Int = _ + _ calculate(f, 10, 20) // 2. 调用方法,

2021-08-22 10:11:20 123

原创 小白学scala日记day4——类与对象

1、类Scala定义类的属性/*//在Scala中,类并不⽤声明为public。//Scala源⽂件中可以包含多个类,所有这些类都具有公有可⻅性。在scala中,类并不⽤声明为public如果没有定义构造器,类会有⼀个默认的⽆参构造器var修饰的变量,对外提供getter setter⽅法val修饰的变量,提供getter⽅法,没有setter⽅法*/class Student { //⽤var修饰的变量,默认同时有公开的getter⽅法和setter⽅法 //Scala中声明

2021-08-22 08:47:02 208

原创 小白学scala日记day3——集合

1.数组# Array- 定⻓数组,数组不可扩容 scala.Array# ArrayBuffer- 变⻓数组,数组可扩容 scala.collection.mutable.ArrayBuffer定⻓数组是不可变集合吗?不是。定⻓数组是可变集合的⼀种,内容可变,但是其⻓度不可变。任何数组都是可变集合数组包括:Array(定长)和ArrayBuffer(变长)val arr=Array(1,2,3)val arr1=new Array(100)scala> arr+=4<c

2021-08-04 18:01:11 449

原创 小白学scala日记day2——方法和函数

方法和函数的区别1. 定义的语法不同方法: def 方法名字(参数列表): 返回值类型 = { 方法体 }函数: val 函数变量: 函数的类型(可以不设置) = (函数的参数列表) => { 函数体 }2. 定义的位置不同方法: 一般定义在类内、特质内、或者在某一个object内函数: 一般定义在类内、特质内、object内、方法内3.方法不能做为最终表达式出现,而函数可以4. 方法名是方法调用,而函数名只是代表函数对象本身 (函数必须使用()进行调用才能执行)5. 方法可...

2021-08-03 21:38:14 188

原创 小白学scala——参数传递

案例:object CallBy { def main(args: Array[String]): Unit = { //按值传递:call-by-value def square1(x: Int): Int = { println(x) //3 x * x //计算3*3 } //square1(1+2) square1 {println("开始求平方");1 + 2} //先计算1+2 print

2021-08-03 20:31:26 297

原创 小白学scala日记day1——变量,层级关系,运算符

1.var与val:使用val声明一个常量或值:val修饰的变量是不可变的,注意不可变的是引用,而不是内容,==val修饰的变量在编译后,等同于加上final==。使用var 声明一个变量:var修饰的变量,内容和引用都可变可变和不可变?可变和不可变,指的是变量本身存的内容,值类型变量存的是数据本身,而引用类型变量存的是数据的引用,值类型和引用类型?值类型与引用类型区别:存储方式:直接存储数据本身 vs 存储的是数据的引用,数据存储在数据堆中内存分配:分配在栈中 vs 分配在堆中效率:效

2021-08-03 16:41:32 140

原创 两台电脑上的虚拟机相互通信

实现方法:在这里我们虚拟机的网络连接选用桥接的方式首先查询本机的ip:然后创建虚拟机:在虚拟机设置中网络适配器中选择桥接模式:随后点击编辑中的虚拟网络编辑器选择更改设置并选择桥接模式:查看本机的网络连接是否有VMware Bridge Protocol之后开启虚拟机并更改虚拟机的ip命令如下vi /etc/sysconfig/network-scripts/ifcfg-ens33在此文件中做如下操作:另外一台虚拟机也做如下操作...

2021-08-01 16:12:25 4326 1

原创 小白学数据仓库日记day5——Openresty

Openresty安装:sudo yum install -y yum-utils# 添加openresty yum 源sudo yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo# 安装openrestysudo yum install -y openresty# 查看openresty可用版本sudo yum list openresty --showduplicates.

2021-07-24 17:43:08 130

原创 小白学hadoop日记——常用端口

2021-07-23 08:29:55 72

原创 小白学linux日记——软连接

ln -s [源文件][目标文件] 创建软链接 相当于建立快捷方式注意:源文件 使用 绝对路径ln [源文件][目标文件] 创建硬链接 相当于深拷贝eg: [root@01 ~]# ln -s /etc/service ./service.soft创建文件/etc/service的软链接service.softeg: [root@01 ~]# ln /etc/service /service.hard创建文件/etc/service的硬链接/service.hard实例应用:当我们需要

2021-07-22 22:56:27 224 1

原创 小白学数据仓库日记day4——sqoop

SqoopSqoop是什么?SQL+HADOOP=SQOOP完成MySQL到HADOOP之间的数据传输Sqoop现状已经停止维护 分为SQOOP 1 和SQOOP 2 建议使用sqoop 1.4.7停止维护原因分析1.足够的成熟2.基于MapReduce太老了,替换方案datax canel兼容性较好的版本组合Hadoop 2.7+ Hive 1.2.1 +HBase 1.x +sqoop 1.4.7SQOOP主要命令import 导入export 导出job 减少重复代码.

2021-07-22 22:39:15 550 4

原创 小白学数据仓库日记day3——flume3

拦截器在Flume运行过程中 ,Flume有能力在运行阶段修改/删除Event,这是通过拦截器(Interceptors)来实现的。拦截器有下面几个特点:- 拦截器需要实现org.apache.flume.interceptor.Interceptor接口。- 拦截器可以修改或删除事件基于开发者在选择器中选择的任何条件。- 拦截器采用了责任链模式,多个拦截器可以按指定顺序拦截。- 一个拦截器返回的事件列表被传递给链中的下一个拦截器。- 如果一个拦截器需要删除事件,它只需要在返回的事件集中不包含

2021-07-21 20:48:44 137 1

原创 小白学数据仓库日记day2——flume实例2

6、spool: Source来源于目录,有文件进入目录就摄取,File Channel将它暂存到磁盘,最终目的地是HDFS即只要某个目录不断有文件,HDFS上也会同步到所有数据。mem:通过内存来传输数据logger:是传送数据到日志[root@sh01~]# vi spool-logger.confa1.sources = r1 a1.channels = c1a1.sinks = s1a1.sources.r1.type=spooldira1.sources.r1.s..

2021-07-20 22:55:05 154 3

原创 小白学数据仓库日记day1——flume

Flume重要概念:Event:表示Flume中对数据的封装,一条数据即为一个事件,事件包括 header和bodyAgeng:即Flume程序,包含组件Source、 Channel、 SinkSource:是决定从哪种数据源接收数据 (file\tcp\http)Channel: 在数据传输过程中的通道 (memory file)Sink:决定将数据输出到何处 hdfs mysql kafka组件及其作用- Client: 客户端,Client生产数据,运行在一个独立的线程中...

2021-07-20 22:34:18 371 1

原创 小白学hadoop日记day17——hbase与mr和hive的整合

hbase 和 mr整合hdfs 100G ---导入-> hbase中import com.al.util.HbaseUtil;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.hbase.HColumnDescriptor;import org.apache.hadoop.hbase.HTableDescriptor;impo

2021-07-17 22:10:32 192 2

原创 小白学hadoop日记——布隆过滤器

布隆过滤器应用场景做缓存:经常被访问的东西存储到内存型key-value数据结构--->在真正缓存之前可以加一个bloomfilter布隆过滤器原理它的时间复杂度是O(1),但是空间占用取决其优化的方式。它是布隆过滤器的基础。 布隆过滤器(Bloom Filter)的核心实现是一个超大的位数组(或者叫位向量)和几个哈希函数。假设位数组的长度为m,哈希函数的个数为k。以上图为例,具体的插入数据和校验是否存在的流程: 假设集合里面有3个元素{x, y, z},哈希函数的...

2021-07-17 21:45:05 408 6

原创 小白学hadoop日记16——hbase的java api 2——过滤器、比较器

过滤器:值过滤、单值过滤器、过滤器链、行过滤器、列过滤器等。比较器:二进制、字符串前缀比较、正则比较器等能不用过滤器尽量不用过滤器,因为性能肯定没有直接使用get快。 LESS, LESS_OR_EQUAL, EQUAL, NOT_EQUAL, GREATER_OR_EQUAL, GREATER, NO_OP代码实现import com.al.util.HbaseUtil;import org.apache.hadoop.hbase....

2021-07-17 21:20:56 533

原创 小白学hadoop日记day15——hbase的java api

pom.xml<dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>1.3.6</version> </dependency>

2021-07-15 20:55:46 194 1

原创 小白学hadoop日记day14——hbase shell操作

-- 帮助命令help group_commandhbase(main):010:0> help 'ddl'help commandhbase(main):010:0> help 'create'hbase(main):053:0* create 't1', {NAME => 'f1', VERSIONS => 5}-- namespacehbase(main):055:0> list_namespacelist_namespace l.

2021-07-15 20:46:14 86

原创 小白学hadoop日记day14——hbase

4.1 hbase的来源1、hdfs的数据读写延迟高2、不能近实时更新删除局部数据3、hive的数据必须要指定的列或者字段,必须要格式化的数据。4、hbase来源于google的bigtable。4.2 hbase的定义Hbase是一个基于Hadoop的开源, 分布式的,多版本的,可扩展的,非关系型数据库,能够处理海量数据(数十亿行和百万列)。Hbase特点habse类似于:Redis、clickhouse、mongoDB、canssdra等。uid <name:zs,age:18.

2021-07-14 16:10:01 196

原创 小白学hadoop日记day13——hive自定义函数

场景:hive的内置函数满足不了所有的业务需求。hive提供很多的模块可以自定义功能,比如:自定义函数、serde、输入输出格式等。hive提供的自定义函数:UDF:user defined function,用户自定函数,一行输入一行输出。类似于普通函数,如size,lengthUDAF:user defined aggregate function,用户自定义聚合函数,多行输入一行输出。类似sumUDTF:user defined table-gernarate function,用户自定义

2021-07-14 15:54:55 307

原创 小白学hadoop日记——hive中的小问题

1、 Hive不允许直接访问非group by字段解决办法(1)-- 对于非group by字段,可以用Hive的collect_set()、collect_list()函数收集这些字段,返回一个数组,collect_set()对元素进行去重操作,collect_list()不对元素去重;-- 使用数字下标,可以直接访问数组中的元素;例如:对于表执行语句select s_id,collect_set(s_score) from score group by s_id;后的结果为:.

2021-07-14 15:32:58 145

原创 小白学hadoop日记day12——hive常见函数和窗口函数

常见函数-- 随机函数select rand();select rand(8); --在某范围内随机-- round() 保留小数点位数select round(rand()*100,2);-- floor() 向下取整select floor(rand()*100);-- ceil() 向上取整select ceil(rand()*100);-- split() 切分select split(rand()*100,'\\.')[0];-- substr() 或者 su..

2021-07-10 10:36:29 315

原创 小白学Hadoop日记day11——hive分区

hive表的模型为什么分区?hive在查询数据时为避免全表扫描而引入分区技术,分区技术就是将数据划分到多个目录中。怎么分区?日期、地域、年、月、小时等一切能将数据分散开的标识即可。分区的本质:在表或者分区下创建目录。分区目录名称是:分区字段=分区值 比如:dt=20210707分区字段:mysql的分区字段使用的是表内字段;hive的分区字段使用的是表外字段。分区语法:-- 在创建Hive表时加上下面分区语法[PARTITIONED BY (COLUMNNAME...

2021-07-10 09:57:09 178

原创 小白学Hadoop日记day10——hive库表操作

hive的注释使用: --hive的sql也任然使用;来作为结束符号,并驱动hive执行。hive的cli中执行linux命令需要使用!后面跟linux命令即可。hive (default)> !pwd;/roothive (default)> !hdfs dfs -ls / ;大小写规则:1. Hive的数据库名、表名都不区分大小写2. 建议关键字大写。user_base_info命名规则:1. 名字不能使用数字开头2. 不能使用关键字3. 尽量不使用特殊符号4. 如

2021-07-09 09:18:05 169

原创 小白学Hadoop日记day9——hive

hive定义:Hive是一个基于`Hadoop`的数据仓库工具,可以将结构化的数据文件映射成一张数据表,并可以使用类似SQL的方式来对数据文件进行读写以及管理。这套Hive SQL 简称HQL。Hive的执行引擎可以是MR、Spark、Tez。1、hive不能做数据存储,他需要依靠HDFS或者Hbase等来做数据存储。2、Hive没有计算功能,他需要依靠mapreduce、tez、spark等。3、hive能将HQL语句解析成mapreduce或者spark或者tez等程序。hive应用:用

2021-07-09 08:26:18 209

原创 小白学Hadoop日记day8——MapReduce分区

MapReduce分区

2021-07-08 22:34:07 263 1

原创 小白学Hadoop日记day7——MapReduce编程

MapReduce编程规范用户编写的程序分为3个部分:Mapper、Reducer、Driver(提交mr程序的客户端)Mapper部分1. 自定义类,继承Mapper类型2. 定义K1,V1,K2,V2的泛型(K1,V1是Mapper的输入数据类型,K2,V2是Mapper的输出数据类型)3. 重写map方法(处理逻辑)参考下图:注意:map方法,每一个KV对都会调用一次。Reducer部分1. 自定义类,继承Reducer类型2. 定义K2,V2,K3,V3的泛型(K2,V2是

2021-07-07 11:14:34 191

原创 小白学Hadoop日记day6——MapReduce

使用场景:1、数据量庞大(日增在TB以上)的行业或者应用,建议还是使用MapReduce程序。(因为简洁所以抗造)。2、它是经典的计算模型,很容易和方便入手。3、市面还是有一些mr程序一直在维护,并未升级。MapReduce定义:MapReduce是分布式离线的并行高效计算引擎(框架)。整个引擎分为两个阶段:Map阶段和Reduce阶段:Map阶段:映射。Reduce阶段:合并。举例:hello qianfeng hello goudan hello shanjigehe hi

2021-07-07 08:39:33 117

空空如也

空空如也

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

TA关注的人

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