自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ample笔记

所有文章仅作学习交流

  • 博客(30)
  • 收藏
  • 关注

原创 同步异步阻塞非阻塞概要

同步异步阻塞非阻塞概要

2022-08-29 10:55:18 110 1

原创 log4j禁止标准输出

package calc.bi.responseimport java.io.IOExceptionimport org.apache.log4j.FileAppenderimport org.apache.log4j.Levelimport org.apache.log4j.Loggerimport org.apache.log4j.SimpleLayoutobject LoggerUtil { def getLogger(clazz: Class[_], fileName: Stri

2021-11-16 16:04:54 1288

原创 Scala的协变和逆变

在期望接收一个基类实例的地方,能够使用一个子类实例的集合的能力叫做协变(covariance)。而在期望接收一个子类实例的集合的地方,能够使用一个超类实例的集合的能力叫做逆变(contravariance)。代码实例object Test { def main(args: Array[String]): Unit = { val dogs = Array(new Dog("Rover"), new Dog("Comet")) playWithPets(dogs)

2021-06-16 16:36:03 207

原创 csv文件中的逗号和双引号处理

1.如果字段中有逗号,该字段使用双引号括起来;2.如果该字段中有双引号,该双引号前要再加一个双引号,然后把该字段使用双引号括起来。

2021-05-25 17:20:37 3041

原创 mysql命令结果分屏展示

输入命令之前先输入如下命令:pager more;下方会提示:PAGER set to ‘more’然后再输入命令,就可以像linux下的more命令操作了。

2021-03-24 14:50:47 309

原创 shell脚本中逻辑关系嵌套写法

if [ "a" == "a" ] || [ "b" != "c" -a "d" != "e" ];then echo "ok"fi如代码所示,括号内用-a、-o,括号外用 &&、||

2021-03-19 11:43:09 430 1

原创 获取指定日期是第几周(可任意指定周几是第一天)

def getWeekOfYear(date: String): Int = { val sdf: SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd") val date1 = sdf.parse(date) val calendar = Calendar.getInstance() //下面的Calendar.MONDAY也可以用数字表示:SUNDAY:1,MONDYA:2,TUESDAY:3,WEDNESDAY:4,T

2021-03-11 14:27:23 270

原创 python的set集合小记

第一种情况:s = set()s.add(‘aaa’)s.add(‘bbb’)s.add(‘ccc’)print(s) #{‘bbb’, ‘ccc’, ‘aaa’}第二种情况:s = set(‘aaa’)s.add(‘bbb’)s.add(‘ccc’)print(s) #{‘bbb’, ‘a’, ‘ccc’}没想到的是第二种情况,aaa被当作字符数组去重了。...

2020-12-16 16:05:24 52

原创 Spark的ReduceByKey方法使用问题

Spark的reduceByKey使用时注意:如果key值是唯一的,那么value值就会原样输出。reduceByKey是基于combineByKey,如果key值唯一,就不会执行merge步骤,也就不会执行reduceByKey方法体。代码实例:object Test { def main(args: Array[String]): Unit = { val conf = new SparkConf() val sc = new SparkContext(conf) v

2020-09-04 15:05:38 850

原创 python读取Oracle

#!/usr/bin/python3import cx_Oracle,time,os,sysdef get_data_from_oracle(): db = cx_Oracle.connect('user', 'pwd', '10.3.1.100:1521/xx') cursor= db.cursor() sql = "select * from order_table" print (sql + "\n") cursor.execute(sql) result = cursor.fetc

2020-09-03 16:06:14 356

原创 Perl读取oracle实例

#!/usr/bin/perlBEGIN{ $|=1; push @INC,"/opt/ourpalm/scripts/lib";}use strict;use POSIX qw(tzset);$ENV{TZ} = 'Asia/Shanghai';tzset();$ENV{NLS_LANG} = "AMERICAN_AMERICA.AL32UTF8";use db;my $stmt;my $sql;my $db = new db();my $conn

2020-09-02 18:13:25 169

原创 Perl连接数据库包

#!/usr/bin/perlpackage db;require Exporter;BEGIN {@ISA = qw(Exporter AutoLoader);}@EXPORT = qw();use strict;use Data::Dumper qw/Dumper /;#--------------------------------------------#Function: getDBINFO#Scope : private#功能: 定义一个可供连接的数据库列表,

2020-09-02 18:01:20 152

原创 python通过jdbc连接kudu

conn= """jdbc:impala://10.3.9.115:21050/Default""" //没有用户名密码,留空即可 user = '' pwd = '' driver = 'com.cloudera.impala.jdbc41.Driver' jar = '/opt/ourpalm/scripts/jars/ImpalaJDBC41.jar' conn = jaydebeapi.connect(driver, conn, [user, ...

2020-09-02 17:38:59 544

原创 scala通过jdbc操作kudu

val DRIVER = “com.cloudera.impala.jdbc41.Driver”val URL = “jdbc:impala://10.3.1.100:21050/Default”Class.forName(DRIVER)val client = DriverManager.getConnection(URL)//注意:sql语句后面添加分号,估计是impala的一个bug,不加分号会报错//报错信息:Caused by: com.cloudera.support.exceptio

2020-09-02 17:31:06 292

原创 基本术语

**数据集/样本集:**记录这组数据的集合,也就是整个表格的数据。**实例/样本:**记录一个事件/对象的描述,如表格的任意一行。**(样本)属性/特征:**反映事件或对象在某方面的表现或性质的事项。**(样本)属性值/特征值:**属性/特征所取的值。**属性空间/样本空间/输入空间:**属性张成的空间,比如把西瓜的“色泽”,“根蒂”,“敲声”作为3个坐标轴,则它们张成一个用于描述西瓜的三维空间,每个西瓜都在这个空间中有其坐标位置。**特征向量:**在前面所述的属性空间/样本空间/输入空间中,每个

2020-07-28 15:43:16 395

原创 创建Index实例

try { CreateIndexRequestBuilder cib = client.admin().indices().prepareCreate(index); XContentBuilder mapping = XContentFactory.jsonBuilder().startObject().startObject("properties"); mapping.startO...

2020-04-30 16:06:33 361

原创 导出实例

SearchResponse scrollResp = client.prepareSearch(esIndex) .setIndicesOptions(IndicesOptions.fromOptions(true, true, false, false)) // 忽略不可用或不存在的index .setTypes(esType) .setSearchType(SearchType....

2020-04-30 15:46:22 241

原创 查询实例

SearchResponse response = client.prepareSearch(esIndex).setTypes(esType) .setIndicesOptions(IndicesOptions.fromOptions(true, true, false, false)) // 忽略不可用或不存在的index .setSearchType(SearchT...

2020-04-30 15:40:19 147

原创 调整window大小

es默认window大小是10000,当查询数据的起始点大于10000的时候,就需要调整window的值。Settings settings = Settings.settingsBuilder().put(“index.max_result_window”, maxResultWindow).build();UpdateSettingsRequest updateSettingsReques...

2020-04-30 15:37:08 413

原创 名词:broken pipe

pipe是管道的意思,管道里面是数据流,通常是从文件或网络套接字读取的数据。 当该管道从另一端突然关闭时,会发生数据突然中断,即是broken。 对于文件File来说,这可能是文件安装在已断开连接的光盘或远程网络上。 对于socket来说,可能是网络被拔出或另一端的进程崩溃。 在Java中,没有具体的BrokenPipeException。 将此类错误包含在另一个异常,例如java.io.IOEx...

2020-04-30 15:32:34 2110

原创 java.io.IOException: Broken pipe

原因是Java读取kudu时Socket连接超时解决办法:val client: KuduClient = new KuduClient.KuduClientBuilder(kuduMaster).defaultSocketReadTimeoutMs(3600000).defaultOperationTimeoutMs(1800000).build()defaultSocketReadTim...

2020-04-30 15:26:44 379

原创 spark实时读取kafka数据扩展包(支持多topic)

package calc.bi.rcimport scala.collection.mutable.ArrayBufferimport joptsimple.OptionParserimport kafka.utils.CommandLineUtilsimport kafka.utils.ToolsUtilsimport kafka.client.ClientUtilsimport k...

2020-04-16 09:57:14 500

原创 spark中使用ArrayBuffer和ListBuffer

如题,使用ArrayBuffer不报错,使用ListBuffer提示强制转换ArrayBuffer失败,具体原因待查

2020-03-20 11:51:04 1212

转载 一等公民

根据维基百科,编程语言中一等公民的概念是由英国计算机学家Christopher Strachey提出来的,时间则早在上个世纪60年代,那个时候还没有个人电脑,没有互联网,没有浏览器,也没有JavaScript。大概很多人和我一样,没听说过Christopher Strachey,并且他也只是提出了一等公民的概念,没有给出严格的定义。关于一等公民,我找到一个权威的定义,来自于一本书《Progra...

2019-12-03 18:59:46 2432

原创 HashMap相同key累加value的问题

import java.util.HashMap;import java.util.Map;public class Test { public static void main(String[] args) { Map<String, Long> map = new HashMap<String, Long>(); map.put("k", 1L); m...

2019-12-03 14:36:25 2888

原创 JVM垃圾回收算法二(垃圾收集算法)

1.标记-清除算法,最基础的收集算法,首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。缺点一是效率低,二是产生大量不连续的内存碎片。2.复制算法,将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。缺点是内存缩小为原来的一半,代价较高(后续商业虚拟机对分配比例有所优化,...

2019-12-03 11:01:36 78

原创 JVM垃圾回收算法一(对象是否已死)

1.引用计数算法,给对象添加一个引用计数器,每当有一个地方引用它时,计数器值加1,当引用失效时,计数器值减1;任何时刻计数器都为0的对象就是不可能再被使用的。缺点:难以解决对象之间的相互循环引用的问题。2.根搜索算法,通过一系列的名为“GC Roots”的对象作为起始点,从这些节点开始往下搜索,搜索所走过的路径成为引用链(Reference Chain),当一个对象到GC Roots没有任何引...

2019-12-03 11:01:22 50

原创 Java虚拟机内存区域要点

一.程序计数器它的作用可以看做是当前线程所执行的字节码的行号指示器。线程私有。二.Java虚拟机栈用于存储局部变量表、操作栈、动态链接、方法出口等信息。线程私有。三.本地方法栈与虚拟机栈所发挥的作用相似,区别不过是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则是为虚拟机使用到的Native方法服务。有些虚拟机(譬如Sun HotSpot虚拟机)直接就把本地方法栈...

2019-12-03 11:00:14 67

原创 scala操作RedisCluster

package calc.bi.udfutilsimport redis.clients.jedis.JedisClusterimport redis.clients.jedis.HostAndPortimport redis.clients.jedis.ScanParamsimport scala.collection.mutable.ListBufferimport scala.co...

2019-12-03 10:59:31 1012

原创 名词概念

寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就需要知道数据存放在哪里 ,这时候就需要挨家挨户的找,这就叫做寻址,但如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。 CPU最大能查找多大范围的地址叫做寻址能力 ,CPU的寻址能力以字节为单位 ,如32位寻址的CPU可以...

2019-12-03 10:58:33 120

空空如也

空空如也

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

TA关注的人

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