自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

甘焕的博客

专注于大数据及可视化研究

原创 你可能忘记了双引号

需要定时导出hive表,有如下脚本: #!/bin/bash HQL="select * from test where concat(year, month, day) = '20200321'" hive -e $HQL > result.txt ...

2020-03-24 17:23:41 59 0

原创 HIVE出现“ java.lang.UnsupportedOperationException”的解决办法

在HIVE中执行如下语句: select * from test where concat(year, month, day, hour) = '2020032412' limit 5; 提示如下错误: Failed with exception java.io.IOExce...

2020-03-24 17:10:30 214 0

原创 SBT启动失败的解决办法

在利用Scala创建Spark项目时,提示如下错误: sbt.librarymanagement.ResolveException: unresolved dependency: com.artima.supersafe#sbtplugin;1.1.3: sbt-plugin-...

2019-04-22 10:36:41 2850 1

原创 Scala容器与Java容器的互相转换

从scala 2.12版本开始,Scala官方废除了“scala.collection.JavaConversions”,改用“scala.collection.JavaConverters”。如果继续强行使用,则会提示如下错误: java.lang.NoSuchMethodError: scal...

2019-04-22 10:35:31 287 0

原创 Scala中JSON的读入与写出

在JAVA中,习惯了JacksonObjectMapper的方便与简洁,那Scala中是否有同样类似的ObjectMapper呢?答案是真有,并且是专有,名称是jackson-module-scala。 1. 添加依赖 理所当然的SBT。 name := "scala-datas&quo...

2019-04-22 10:33:48 530 0

原创 Javascript:巧用n进制做加密与解密

对于安全型较低的应用,不妨试试Javascript的n进制转换,能达到简单的对称加密效果。 1. 加密 对于数字,转换为Number进行toString操作即可,toString接受一个进制转换的参数,取值范围为1~36,如下: var x = 640520; // 将x转换为32进制 var ...

2018-11-20 14:52:48 571 1

原创 程序员生活杂记四:脱发

领导问:“你头发怎么这么少了?” 答:“项目赶得太急,我跑得太快,头发没追上!” 测试经理:“你头发怎么这么少了?” 答:“因为我不想让别人抓到我代码的小辫子!” 女朋友问:“你头发怎么这么少了?” 答:“因为头发觉得我太偏心了,只爱代码不爱他!” 老婆:“你头发怎么这么少了?” 答:“为了省点洗...

2018-09-20 17:23:33 745 1

原创 HIVE:hivevar、hiveconf与define参数的差异与用法

HIVE CLI中有三种定义属性或变量的参数,分别是: 文章目录1. hiveconf2. hivevar3. define 1. hiveconf hiveconf用于定义HIVE执行上下文的属性(配置参数),可覆盖覆盖hive-site.xml(hive-default.xml)中的参数值,如...

2018-09-20 15:58:11 2631 0

原创 Presto “Column 'xxx' cannot be resolved”的解决办法

在使用Presto的过程中,提示如下错误: Query 20180912_035603_00940_xc5ft failed: line 1:75: Column 'xxx' cannot be resolved LINE 1: select system, concat(ye...

2018-09-20 15:56:49 4666 0

原创 Presto与Spark SQL查询性能比较

1. 数仓环境 指标名称 指标值 数据总量 24T 分区数量 24 存储类型 Text Spark SQL版本 Pres同版本 2. 分页查询 所有的计算时间都以秒为单位,执行的SQL语句如下:...

2018-09-20 15:53:41 7433 1

原创 Spark-SQL导出查询结果的两种方式

为了分析数据的需要,我们需要导出Spark-SQL的查询结果,通过Spark SQL CLI有两种方式。 1. 使用“-e”参数 与“Hive”一样,Spark SQL CLI也支持“-e”参数,使用方式如下: # 分成多行是为了便于阅读 # 执行时请去掉多余的回车 spark-sq...

2018-09-06 18:07:49 6877 0

原创 HttpClient提交表单出现中文乱码的解决办法

有个项目需要为图片添加水印,本来运行得很好,但后来增加了自定义水印内容的需求,且需要支持中文,于是很简单地添加了表单描述字段“remark”,但后端解析到的字符为一连串“?”(难道水印也是满脸的懵逼?),代码如下: HttpEntity reqEntity = MultipartEntity...

2018-09-06 18:01:42 1489 0

原创 一种快速切割字符串的方法

在项目中,经常需要对字符串进行切割转换,以日期字符串“2018121810”为例,惯性的思维是利用DateFormat函数,如下: val srcDf:Sdf = new Sdf("yyyyMMddHH") val time: Date = srcDf.p...

2018-09-06 17:59:51 1014 0

原创 Spark:flatmap函数提示“ambiguous implicit values”的解决办法

很简单的Spark Rdd操作,提示如下错误: Error:(46, 15) ambiguous implicit values: both method newIntEncoder in class SQLImplicits of type => org.apache.sp...

2018-09-06 17:56:00 746 0

原创 Scala守卫语句的两种用法

相比于JAVA,Scala的if增加了两项强大的功能,一是可以直接作为赋值语句,另一种功能是作为守卫语句,不仅远远超过JAVA,甚至也将PYTHON抛在身后。 1. if作为赋值语句 作为赋值语句,不仅仅只是替代了三元运算符,而且还能支持逻辑语句块,如下: val (a, b) = ...

2018-09-03 22:37:17 1085 0

原创 R语言:因子与字符串的互转

在导入大批量数据时,如果没有显式地指定“stringsAsFactors = FALSE”,默认会将所有的字符串转换为因子,导致数据处理速度较慢。 示例数据如下: name,math,english,sex,year "yiifaa",65,68,&am...

2018-09-02 19:55:45 15701 2

原创 R语言:“cannot open the connection”的解决办法

在R语言的实践中,读入数据文件几乎是必须的操作,但没有设置好工作空间的位置,将会提示如下错误: Error in file(file, "rt") : cannot open the connection In addition: Warning mess...

2018-09-02 18:11:15 28119 3

原创 Scala型变:不变、协变及逆变

Scala在高阶类型的使用中,有三种变化,分别是顺变、协变及逆变,下面详细讲讲它们的含义与应用。 1. 高阶类型 高阶类型是接受其他参数用来构造新类型的,所以又称为“类型构造器”,用type关键字来定义: // 定义高阶类型 type Foo[T] = Function0[T] ...

2018-08-31 16:46:31 648 0

原创 程序员生活杂记三:并行与并发

那天,被产品经理、测试、UI设计群殴了一顿,突然恍然大悟,他们真行啊,竟然使出了并行绝招。 我擦一下鼻血,写一行代码,骂一句:“我只会单线程并发啊!”...

2018-08-30 22:31:56 181 0

原创 Scala隐式转换函数的应用与总结

在(《Scala隐式类型约束的应用与总结》)[https://blog.csdn.net/yiifaa/article/details/82054393]中,我们讲解了隐式对象约束的方法,但在实践中,虽然其定义了统一的特质,便于实现与约束,但稍显复杂,这里还有一种替代方案——隐式转换函数,其接口声...

2018-08-30 21:44:34 237 0

原创 Scala隐式类型约束的应用与总结

在《从JAVA到Scala(三):implicit的三种用法》中,详细地说明了“implicit”关键字的用法,但在实际中,它们可能结合使用为一种模式,比如play框架的JSON用法。 // 在JSON化实例之前,必须定义隐式类型Writes[Location] implicit val ...

2018-08-25 19:21:29 200 0

原创 程序员生活杂记二:野草

       三月,深夜,咸阳宾馆。        顾老板在笑,笑得很开心,自从那位老人来后,白天会议室,晚上标准间,另加上一日三餐,都被她订得满满当当。 封闭开发,虽然他不懂,但是他从心里一直喜欢到脸上,甚至都想开心地吼出来。        但,他也有一丝担忧,或许下个月,那个老人就离开了...

2018-08-24 07:50:31 210 0

原创 程序员生活杂记一:光盘与电工

       终于确定了工作,成为了二线城市电力公司下属企业的程序员。        带着小兴奋,给老家大舅一个电话:“我找好工作了,是程序员!”        那边传来了迷茫的声音:“啥?”        我赶紧解释:“就是开发软件的。”        大舅:“软件?是不是制碟子(制作光...

2018-08-24 07:43:32 160 1

原创 启动Play报错“play.core.server.DevServerStart”的解决办法

启动Play框架,提示如下错误: [error] java.lang.ClassNotFoundException: play.core.server.DevServerStart [error] at java.base/java.net.URLClassLoader.findCl...

2018-08-24 07:40:50 355 0

原创 sbt-assembly在Spark应用架包冲突的解决办法

在利用sbt-assmebly对Spark应用打包时,提示如下错误: java.lang.RuntimeException: deduplicate: different file contents found in the following: [error] C:\Users\didi\...

2018-08-22 22:28:26 487 0

原创 Scala的“match-case”与List析构

scala没有switch语句,但有更强大的“match-case”的语句,在实践中,应用最多的主要是以下三类,尤其是前两种。 1. 类型匹配; 2. 值匹配; 3. 模式匹配; “match-case”的强大体现在“case”语句对scala表达式的支持,以容器为例,看一个加法运算的例子...

2018-08-22 22:25:56 381 0

原创 SBT依赖中“%”与“%%”的区别

在SBT的配置文件build.sbt中,配置库包依赖的方法如下: lazy val sparkSettings = Seq( organization := "com.didichuxing", version := "1.0&a...

2018-08-21 18:41:07 760 0

原创 SQL中查询“%”字符的三种方法

数据整理任务需要清除包含“%”字符的记录,经过简单的测试(基于MYSQL 5.6),大概有以下三种方法。 1. 用“\”转义 使用转义字符,将“%”写为“\%”,示例如下: select * from t_test where t_fr like '%\%%'; ...

2018-08-21 18:39:39 11108 0

原创 “Libraries for lz4 compression codec not found”的解决办法

升级Kafka服务器后,运行正常的Python程序突然报错: File "/usr/local/lib/python2.7/site-packages/kafka/record/legacy_records.py", line 240, in __iter__ ...

2018-08-20 19:19:59 2468 0

原创 Mac OS上安装MySQL_python

直接利用“pip install mysql_python”安装肯定是不行的,提示如下错误: File "setup_posix.py", line 26, in mysql_config raise EnvironmentError("%s ...

2018-07-05 16:04:41 1220 0

原创 HttpClient Not in GZIP format的解决办法

在用HttpClient抓取图片的过程中,提示如下错误: Exception in thread "main" java.util.zip.ZipException: Not in GZIP format at java.util.zip.GZIP...

2018-07-05 16:00:51 5118 0

原创 一则“HTTP 405 Method Not Allowed”的解决办法

在angular 1.4版本的项目中,程序一直运行正常,突然有一天,在提交表单时,提示“HTTP 405”错误——“Method Not Allowed”。 从字面上的意思理解,很显然是提交方法的类型错误,要么是以GET方式向POST接口提交数据,要么是POST方式项GET接口提交数据,但反反复...

2018-07-05 15:59:19 145507 4

原创 extract-text-webpack-plugin配置出错的解决办法

在Webpack集成extract-text-webpack-plugin中,总提示无法找到正确的loader,如下:Module build failed: ModuleParseError: Module parse failed: Unexpected token (1:0) You may...

2017-12-21 22:46:08 10990 0

原创 Visual Studio Code 装饰器提示“experimentalDecorators”的解决办法

突然想体验下元编程,于是Nodejs的装饰器就成为了我的首选,但在Visual Studio Code中,始终提示如下错误:file: 'file:///e%3A/Nodejs/yo-hot-mis/src/index.es6' severity: '错误'...

2017-12-21 12:50:06 33630 25

原创 JAVA反射(一):获取Class对象

1. 获取父类这是最简单也是最容易理解的方法——getSuperclass(),唯一需要说明的是,返回的一定是类,不是接口。2. 获取内部类获取内部类有两种,分别为class.getClasses()与class.getDeclaredClasses(),但它们两个差别极大,见下表: 方法名称...

2017-12-20 23:17:29 870 1

原创 在MinGW启动时激活环境变量

熟悉Linux的都知道,在进入SHELL时,一共有四种方式添加环境变量与添加自定义命令,如下: 文件位置 用途 优先级 补充说明 /etc/profile 通用环境信息,首用户登录执行 1 会从/etc/profile.d目录件中搜集shell的设置 /etc/b...

2017-12-19 22:00:49 778 0

原创 查找文件被操作的进程与代码

接手别人的工作,由于对难度估计不足,困难远远超过自己的想象,眼看着磁盘空间飞快的增长,就是找不到操作磁盘IO的代码。首先采用撞大运的方法,希望能从进程中找到蛛丝马迹,如下:ps -ef|grep sec.log结果很失望,果然没有找到需要的进程。只好换种方法,利用“fuser”从文件入手,如下:#...

2017-12-19 21:58:50 378 0

原创 消失的硬盘空间:du与df统计不一致的解决方法

突然接到Zabbix的告警邮件,说硬盘空间告警,赶紧登上服务器,用df查看硬盘利用率,发现已用空间果然较低,如下:# 加上-h更容易看明白空间大小 df -h输出结果如下:/dev/sdb1 2.2T 1.8T 488G 79% /home继续分析“/home”的占用分布,如下:...

2017-12-19 21:56:27 3898 0

原创 GAWK(二):将RS、FS设置为连续空格的三种方法

在字符串的分割中,由于信息传递的多样性,导致分析的文本出现多样性,比如将常用的制表符“\t”设置为4个连续的空格,此时如果继续沿用默认的匹配,将会出现多个空白的域。解决此问题,最好的办法莫过于使用正则表达式,但AWK中并没有标准的空格转义字符,退格符\b(属于控制字符,编码为0000 1000)不...

2017-12-18 22:32:26 363 0

原创 GAWK(一):RS、FS与ORS、OFS等内置变量的用法

AWK作为日志分析的强大工具,如何分割、转换、匹配日志数据是分析的基础,而在分割操作中,最强大而简单的配置莫过于RS与FS,它们的关系如下:Created with Raphaël 2.1.0ORS、OFS则用于输出分析报表,但需要注意的是,ORS与OFS只对print函数有效,对printf无效...

2017-12-17 19:28:46 839 0

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