- 博客(149)
- 资源 (1)
- 收藏
- 关注
原创 Scala 模式匹配与Java中的swich case
模式匹配,其实类似于Java中的swich case语法,即对一个值进行条件判断,然后针对不同的条件,进行不同的处理。但是Scala的模式匹配的功能比Java的swich case语法的功能要强大地多。Java的swich case语法只能对值进行匹配,而Scala的模式匹配除了可以对值进行匹配之外,还可以对类型进行匹配、对Array和List的元素情况进行匹配、对case class进行匹配、甚至对有值或没值(Option)进行匹配。一个模式匹配包含了一系列备选项,每个都开始于关键字 case。每
2020-09-24 00:53:52
617
原创 Scala 字符串插值的三种方式
字符串插值:直接在过程字符串文字中嵌入变量引用的机制。只在Scala-2.10及更高版本支持。1、's'字符串插值器文字's'允许在处理字符串时直接使用变量。任何在范围中的String变量可以在字符串中使用。用法1:在println语句中将String变量($name)附加到普通字符串(Hello)中:val name = "TRX"println(s"Hello, $name") //output: Hello, TRX用法2:字符串插入器还可以处理任意表达式...
2020-09-23 23:29:45
2707
原创 Doris将数字按照货币格式输出,整数部分每隔3位用逗号分隔,小数部分保留2位
Doris将数字按照货币格式输出,整数部分每隔3位用逗号分隔,小数部分保留2位.mysql> select money_format(17014116);+------------------------+| money_format(17014116) |+------------------------+| 17,014,116.00 |+------------------------+mysql> select money_format(1123.4
2020-09-21 20:16:16
1384
原创 Spark 核心概念:Master、Worker、Driver Program、Executor、RDDs
一、Master Spark 特有资源调度系统的 Leader,掌管着整个集群的资源信息(Standalone模式),类似于 Yarn 集群中的ResourceManager。主要功能:监听 Worker,看集群中的 Worker 是否正常工作; 管理 Worker、Application(接收 Worker 的注册并管理所有的 Worker;接收 Client 提交的 Application,调度等待的Application 并向Worker提交)。二、Worker...
2020-09-18 00:47:18
950
原创 Doris数据备份与恢复
Doris 支持将当前数据以文件的形式,通过 broker 备份到远端存储系统中,之后可以通过 恢复 命令,从远端存储系统中将数据恢复到任意 Doris 集群。通过这个功能,可以达到两个目的:数据备份:Doris 可以支持将数据定期的进行快照备份 数据迁移:Doris 可以根据数据备份的快照将数据恢复到新表或不同集群间的表一、基本原理备份(Backup)备份操作是将指定表或分区的数据,直接以 Doris 存储的文件的形式,上传到远端仓库中进行存储。Backup命令为异步操作,提交成功后需
2020-07-16 20:36:24
4001
2
原创 Doris导出指定的表或分区的数据到HDFS
目录基本原理使用实例1、将testTbl表中的所有数据导出到hdfs上2、将testTbl表中的分区p1,p2导出到hdfs上,broker使用kerberos 认证方式,同时配置 namenode HA3、将testTbl表中的所有数据导出到hdfs上,以","作为列分隔符注意事项Export是Doris提供的将数据导出的功能,可以将用户指定的表或分区的数据,以文本的格式,通过 Broker 进程导出到远端存储上,如 HDFS/BOS 等(暂不支持导出到本地)。可以使用M
2020-07-16 16:12:19
2007
原创 Doris 数据导入- Stream Load 通过 http 协议进行流式数据导入
Doris导入方式及链接Doris 目前支持以下4种导入方式:Hadoop Load:基于 MR 进行 ETL 的导入。(仅适用于百度内部环境) Broker Load:使用 broker 进行进行数据导入。(链接:Doris 数据导入-Broker Load) Mini Load:通过 http 协议上传文件进行批量数据导入。(链接:Doris 数据导入-Mini Load) Stream Load:通过 http 协议进行流式数据导入。(链接:)Doris 数据导入- St...
2020-07-10 00:29:43
7217
8
原创 Doris 数据导入-Mini Load 通过http进行批量数据导入
目录Doris导入方式及链接Doris 目前支持以下4种导入方式:Doris 数据导入-Mini Load 通过http进行批量数据导入数据导入样例1. 将本地文件'testData'中的数据导入到数据库'testDb'中'testTbl'的表(用户是defalut_cluster中的)2. 将本地文件'testData'中的数据导入到数据库'testDb'中'testTbl'的表(用户是test_cluster中的)。超时时间是 3600 秒3. 将本地文件'testDa.
2020-07-10 00:20:31
3427
2
原创 Doris 数据聚合
在 Doris 中有如下三个阶段发生:每一批次数据导入的 ETL 阶段。该阶段会在每一批次导入的数据内部进行聚合。 底层 BE 进行数据 Compaction 的阶段。该阶段,BE 会对已导入的不同批次的数据进行进一步的聚合。 数据查询阶段。在数据查询时,对于查询涉及到的数据,会进行对应的聚合。数据在不同时间,可能聚合的程度不一致。比如一批数据刚导入时,可能还未与之前已存在的数据进行聚合。但是对于用户而言,用户只能查询到聚合后的数据。即不同的聚合程度对于用户查询而言是透明的。用户需
2020-07-09 22:35:15
1090
原创 Doris 的建表和数据划分
基本概念Row & Column一张表包括行(Row)和列(Column)。Row 即用户的一行数据。Column 用于描述一行数据中不同的字段。Column 可以分为两大类:Key 和 Value。从业务角度看,Key 和 Value 可以分别对应维度列和指标列。从聚合模型的角度来说,Key 列相同的行,会聚合成一行。其中 Value 列的聚合方式由用户在建表时指定。更多:参阅Doris 数据模型。Tablet & Partition在 Doris 的存储引擎中,用户.
2020-07-09 21:49:03
10731
1
原创 Doris 创建olap、mysql、broker表
使用Mysql Client 运行HELP CREATE TABLE做的笔记。一、创建语法语法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [database.]table_name (column_definition1[, column_definition2, ...]) [ENGINE = [olap|mysql|broker]] [key_desc] [parti...
2020-07-09 20:57:00
11502
原创 Scala中大箭头的应用场景
scala中“=>”的应用场景1、表示函数的返回类型 def main(args: Array[String]): Unit = { //定义一个函数变量 var x: (Int) => Int = test var x2: (Int) => String = test2 println(x(2)) // 4 println(x2(2)) // 2trx } def test(x: Int) = x * 2 def test
2020-06-24 00:47:54
257
原创 Scala 集合(Array、List、Set、Map、元组、Option)
1、数组 // 创建数组 // **** 方式1 **** val array = Array[String]("a", "b", "c") // **** 方式2 **** // (1) 创建类型为String 长度为3的数组 val array1 = new Array[String](3) // (2) 赋值 array1(0) = "a" array1(1) = "s" array1(2) = "d"同Java数
2020-06-24 00:24:43
496
原创 Scala 方法与函数 笔记
Scala 有方法与函数,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象,可以赋值给一个变量。换句话来说在类中定义的函数即是方法。Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。Scala 中使用 val 语句可以定义函数,def 语句定义方法。注意:有些翻译上函数(function)与方法(method)是没有区别的。1、Scala方法/函数定义object Test { def main(args: Ar
2020-06-23 19:16:00
275
原创 Scala 基础--对比 Java
目录基础语法Scala 数据类型多行字符串的表示方法Null 值Scala 变量变量类型声明Scala 访问修饰符基础语法Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的。如果想要引入包中的几个成员,可以使用selector(选取器):import java.awt.{Color, Font}// 重命名成员import java.util.{HashMap => JavaHashMap}// 隐藏成员import
2020-06-23 17:14:33
285
原创 Druid查询
目录概述查询分类:1、聚合查询(Aggregation Queries)1.1 Timeseries1.2 TopN(TopN queries)1.3 GroupBy2、元数据查询(Metadata Queries)2.1 时间范围查询(Time Boundary Queries)2.2 Segments元数据查询(Segment Metadata Queries)2.3 数据源元数据查询(Dat...
2020-01-21 16:10:18
1092
原创 初识Druid.io实时OLAP数据分析存储系统
目录一、简介二、整体架构三、安装和配置四、数据导入lxw1234.com网站阅读学习Druid整理的笔记参考链接:http://lxw1234.com/archives/2015/11/563.htm一、简介Druid 是一个开源的,分布式的,列存储的,适用于实时数据分析的存储系统,能够快速聚合、灵活过滤、毫秒级查询、和低延迟数据导入。特点:Druid在设计时充分考虑到了高可用性...
2020-01-21 15:46:35
326
原创 Java虚拟机垃圾回收过程及垃圾收集器
文章目录一、GC需要完成的事情二、哪些内存需要回收?判断对象是否存活的算法:1、引用计数法2、可达性分析法三、垃圾收集算法1、标记-清除算法2、复制算法3、标记-整理算法4、分代收集算法四、对象内存分配1、对象优先分配在Eden2、大对象直接进入老年代3、长期存活的对象进入老年代4、空间分配担保五、垃圾收集器1、年轻代垃圾收集器1)Serial 收集器2)ParNew3)Parallel Scav...
2020-01-09 02:07:45
673
1
原创 Java虚拟机内存区域划分及分别存储了哪些数据
博文目录一、运行时数据区域二、线程隔离的数据区1、程序计数器2、虚拟机栈3、本地方法栈三、所有线程共享的数据区1、 Java 堆2、方法区运行时常量池一、运行时数据区域二、线程隔离的数据区1、程序计数器线程私有,生命周期与线程相同。**作用:**程序所执行的字节码的 行号指示器程序计数器(Program CounterRegister) 是一块较小的内存空间,它可以看作是程序所执行的...
2020-01-08 22:43:27
2542
原创 Java虚拟机类加载机制【图文】
博文目录一、能学到什么?二、什么是类加载机制?三、类的生命周期四、各个阶段做了什么事1、加载2、验证3、准备4、解析5、初始化五、什么时候加载&初始化?六、类加载器七、双亲委派模型一、能学到什么?虚拟机如何加载Class文件?Class文件中的信息进入虚拟机后会发生什么变化?二、什么是类加载机制?虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始...
2020-01-08 21:19:37
373
2
原创 使用ObjectMapper转换JSON
文章目录maven 依赖使用场景测试model类使用场景实例1、Java对象转换为JSON对象2、JSON对象转换为Java对象3、Java数组对象和JSON数组对象转换4、抽取json中的部分数据进行转换ObjectMapper 是一个使用 Swift 编写的用于 model 对象(类和结构体)和 JSON 之间转换的框架。它提供一些功能将转换成Java对象匹配JSON结构,反之亦然。它使用J...
2019-11-21 22:40:37
1979
原创 Flink任务提交源码阅读(三):Job提交 run()
接着上面两篇文章:Flink1.9.0任务提交源码阅读(一):flink脚本Flink1.9.0任务提交源码阅读(二):入口类CliFrontend今天继续阅读Flink1.9.0任务提交源码的run()方法,这个方法是flink任务提交的核心逻辑。run()的执行逻辑代码:/** * 执行run操作 * * @param args 运行操作的命令行参数。 */pro...
2019-11-19 22:55:52
1949
原创 Flink任务提交源码阅读(二):入口类CliFrontend
接着上一章的内容,今天继续阅读Flink1.9.0任务提交源码的入口类:org.apache.flink.client.cli.CliFrontend上篇文章:Flink1.9.0任务提交源码阅读(一):flink脚本1.入口类逻辑从main()开始,直接上代码 /** Submits the job based on the arguments. */ public static ...
2019-11-19 22:27:23
4349
原创 Flink任务提交源码阅读(一):flink脚本
文章目录Flink版本&任务提交方式及示例继续:Flink1.9.0任务提交源码阅读(二):入口类CliFrontendFlink1.9.0任务提交源码阅读(三):Job提交--run()PS:在工作中有个需求:使用java API的方式提交flink job 到yarn上,有yarn负责部署集群运行任务,待任务运行完成后销毁集群,官方没有提供类似的java API怎么办,没办法只能看源...
2019-11-19 21:21:41
2102
原创 Python字符串内建函数分类
正是因为Python内置提供的方法足够多,使得我们在使用Python开发时,能够对字符串进行更加灵活的操作,应对更多的开发需求。1、判断类型-9序号方法说明1isalnum()如果字符串至少有一个字符并且 所有字符都是字母或数字 则返 回 True,否则返回 False2isalpha()如果字符串至少有一个字符并且 所有字符都是字母 则返回 True, 否...
2019-09-09 15:57:35
443
原创 基于XML和注解方式的springAOP配置(基础知识+简单实例)
基础知识部分一、概念官方解释: 面向切面编程(也叫面向方面编程):Aspect Oriented Programming(AOP),通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种...
2019-08-19 20:00:10
391
转载 spring配置注解context:annotation-config和context:component-scan区别
此文章转自https://blog.csdn.net/u010648555/article/details/76371474 ,本文章供自己学习查询使用。Spring 中在使用注解(Annotation)会涉及到< context:annotation-config> 和 < context:component-scan>配置,下面就对这两个配置进行诠释。1.con...
2019-08-19 09:59:58
285
原创 IDEA+Maven搭建纯Mybatis环境并测试
前面的话:本实例意在搭建纯Mybatis环境,供学习理解mybatis的开发过程使用,在实际生产环境中会结合Spring、SpringMVC、SpringBoot等框架使用。数据准备创建一个数据库,并新增一张名为userinfo的表:建表语句为:CREATE TABLE `userinfo` ( `id` int(5) NOT NULL, `username` varchar(2...
2019-08-09 17:09:36
925
1
原创 使用Guava cache构建本地缓存
【原文地址】https://my.oschina.net/u/2270476/blog/1805749前言最近在一个项目中需要用到本地缓存,在网上调研后,发现谷歌的Guva提供的cache模块非常的不错。简单易上手的api;灵活强大的功能,再加上谷歌这块金字招牌,让我毫不犹豫的选择了它。仅以此博客记录我在使用过程中的点滴。什么是本地缓存在我们的应用中,大部分的计算是昂贵的,而且是可复用...
2019-04-24 11:47:28
716
原创 java获取其他接口返回的json数据【工具类】
需求:在java工程中,需要用到别的接口提供的数据时,如何获取到这个数据,这个工具类可以获取接口返回的json数据,直接拷贝就可以用了。package test.utils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.H...
2019-04-24 11:10:58
3374
原创 java连接外网kafka实现producer和consumer(高级API)
踩坑踩过来的,记录一下。。。背景在华为云上搭建的kafka的为分布式环境,配置文件server.properties是一个基础配置,云服务器搭建kafka伪分布式环境没有配置外网连接的一些属性,先来配置一下:需要在原来的配置基础下加入如下配置:listeners=PLAINTEXT://0.0.0.0:8180 # 端口可以自己设定advertised.host.name...
2019-04-03 21:22:49
1105
2
原创 云服务器搭建kafka伪分布式环境
背景最近在学习kafka,准备在自己租的云服务器上搭建kafka伪分布式集群,做一些笔记,记录一些踩到的坑。。。准备1、jdk1.82、zookeeper-3.4.5.tar.gz3、kafka_2.11-0.11.0.3.tgz说明:jdk没什么好说的,使用zookeeper是因为我们搭建的kafka集群会有很多个结点(broker),我们将这些broker托管給zookeeper...
2019-04-03 21:02:20
333
原创 Flink学习笔记
Flink-01-flink基本原理及应用场景分析Flink-02-flink技术架构及工作原理Flink-03-【入门程序】WordCount的流处理和批处理Flink-04-Flink自定义SourceFlink-05-DataStream API 之 TransformationsFlink-06-DataStream API 之 sink–Redis实现Flink-07-Bro...
2019-04-02 14:59:06
276
原创 Flink-06-DataStream API 之 sink--Redis实现
记录Flink从Socket获取数据,经过数据处理后将数据落地到Redis。添加依赖包 <!-- https://mvnrepository.com/artifact/org.apache.bahir/flink-connector-redis --> <dependency> <groupId>org....
2019-04-01 17:55:38
605
原创 Flink-05-DataStream API 之 Transformations
Flink拥有很多算子最常用的有如下:算子描述map:输入一个元素,然后返回一个元素,中间可以做一些清洗转换等操作flatmap:输入一个元素,可以返回零个,一个或者多个元素filter:过滤函数,对传入的数据进行判断,符合条件的数据会被留下keyBy:根据指定的key进行分组,相同key的数据会进入同一个分区reduce:对数据进行聚合操作...
2019-04-01 11:44:57
252
原创 Flink-04-Flink自定义Source
1、实现并行度为1 的自定义Source实现SourceFunction接口–一定要指定数据类型package com.test.streaming.customSource; import org.apache.flink.streaming.api.functions.source.SourceFunction; /** * @Author:renxin.tang * @Des...
2019-04-01 10:27:38
1541
原创 Flink-03-【入门程序】WordCount的流处理和批处理
需求分析手工通过socket试试产生一些单词,使用flink实时接收数据,对指定时间窗口内(例如:2秒)的数据进行聚合统计,并且把时间窗口内计算的结果打印出来。实现步骤获得一个执行环境加载/创建初始化数据–连接socket获取输入的数据;指定操作数据的transaction算子指定把计算好的数据放在哪里调用execute()触发执行程序flink程序是延迟计算的,只有最后调用e...
2019-04-01 10:23:46
707
原创 Flink-02-flink技术架构及工作原理
Flink组件栈自下而上,分别针对每一层进行解释说明:Deployment该层主要涉及了Flink的部署模式,Flink支持多种部署模式:本地、集群(Standalone/YARN)、云(GCE/EC2)。Runtime层Runtime层提供了支持Flink计算的全部核心实现,比如:支持分布式Stream处理、JobGraph到ExecutionGraph的映射、调度等等,为上...
2019-04-01 10:09:29
559
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅