自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

甘焕的博客

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

  • 博客(366)
  • 资源 (5)
  • 收藏
  • 关注

原创 你可能忘记了双引号

需要定时导出hive表,有如下脚本:#!/bin/bashHQL="select * from test where concat(year, month, day) = '20200321'"hive -e $HQL > result.txt执行时提示如下错误:FAILED: ParseException line 1:6 cannot recognize input near...

2020-03-24 17:23:41 1500

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

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

2020-03-24 17:10:30 6739

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

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

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

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

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

2019-04-22 10:35:31 1980

原创 Scala中JSON的读入与写出

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

2019-04-22 10:33:48 2642

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

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

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

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

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

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

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

HIVE CLI中有三种定义属性或变量的参数,分别是:文章目录1. hiveconf2. hivevar3. define1. hiveconfhiveconf用于定义HIVE执行上下文的属性(配置参数),可覆盖覆盖hive-site.xml(hive-default.xml)中的参数值,如用户执行目录、日志打印级别、执行队列等,常用的配置属性如下:参数名称参数解释hi...

2018-09-20 15:58:11 10247

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

在使用Presto的过程中,提示如下错误:Query 20180912_035603_00940_xc5ft failed: line 1:75: Column 'xxx' cannot be resolvedLINE 1: select system, concat(year, month, day, hour) from mytable where "value"="xxx"更奇怪的是...

2018-09-20 15:56:49 31082

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

1. 数仓环境指标名称指标值数据总量24T分区数量24存储类型TextSpark SQL版本Pres同版本2. 分页查询所有的计算时间都以秒为单位,执行的SQL语句如下:select * from mydb where year='2018' and month='09' and day='09' and remote_addr='...

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

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

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

2018-09-06 18:07:49 15333

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

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

2018-09-06 18:01:42 4020

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

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

2018-09-06 17:59:51 2664

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

很简单的Spark Rdd操作,提示如下错误:Error:(46, 15) ambiguous implicit values: both method newIntEncoder in class SQLImplicits of type => org.apache.spark.sql.Encoder[Int] and method newLongEncoder in clas...

2018-09-06 17:56:00 2446

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

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

2018-09-03 22:37:17 3103

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

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

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

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

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

2018-09-02 18:11:15 107319 15

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

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

2018-08-31 16:46:31 1921

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

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

2018-08-30 22:31:56 1057

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

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

2018-08-30 21:44:34 1169

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

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

2018-08-25 19:21:29 676

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

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

2018-08-24 07:50:31 453 1

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

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

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

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

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

2018-08-24 07:40:50 900

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

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

2018-08-22 22:28:26 1322

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

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

2018-08-22 22:25:56 1078

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

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

2018-08-21 18:41:07 1794

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

数据整理任务需要清除包含“%”字符的记录,经过简单的测试(基于MYSQL 5.6),大概有以下三种方法。1. 用“\”转义使用转义字符,将“%”写为“\%”,示例如下:select * from t_test where t_fr like '%\%%';写到这里,突然想到,如果记录中包含“\”字符怎么办?经过测试,在SQL中,需要连续4个“\\”才能正确表述“\”,如下:...

2018-08-21 18:39:39 31401

原创 “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__ self._buffer = memoryview(self._decompress(key_offset)) ...

2018-08-20 19:19:59 6615

原创 Mac OS上安装MySQL_python

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

2018-07-05 16:04:41 2786

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

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

2018-07-05 16:00:51 11054

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

在angular 1.4版本的项目中,程序一直运行正常,突然有一天,在提交表单时,提示“HTTP 405”错误——“Method Not Allowed”。从字面上的意思理解,很显然是提交方法的类型错误,要么是以GET方式向POST接口提交数据,要么是POST方式项GET接口提交数据,但反反复复检查了后端接口与提交方式,都是POST,完全没有问题。仔细检查前端代码,发现编写方式如下:...

2018-07-05 15:59:19 415927 10

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

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

2017-12-21 22:46:08 14157

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

突然想体验下元编程,于是Nodejs的装饰器就成为了我的首选,但在Visual Studio Code中,始终提示如下错误:file: 'file:///e%3A/Nodejs/yo-hot-mis/src/index.es6'severity: '错误'message: '对修饰器的实验支持是一项将在将来版本中更改的功能。设置 "experimentalDecorators" 选项以删除此警告

2017-12-21 12:50:06 45309 27

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

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

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

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

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

2017-12-19 22:00:49 1353

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

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

2017-12-19 21:58:50 616

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

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

2017-12-19 21:56:27 9610

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

在字符串的分割中,由于信息传递的多样性,导致分析的文本出现多样性,比如将常用的制表符“\t”设置为4个连续的空格,此时如果继续沿用默认的匹配,将会出现多个空白的域。解决此问题,最好的办法莫过于使用正则表达式,但AWK中并没有标准的空格转义字符,退格符\b(属于控制字符,编码为0000 1000)不等于空格。1. 使用字符表述这是最直接的方法,直接用空格键输入即可,共有两种方式,如下:# 请注意中括号

2017-12-18 22:32:26 730

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

AWK作为日志分析的强大工具,如何分割、转换、匹配日志数据是分析的基础,而在分割操作中,最强大而简单的配置莫过于RS与FS,它们的关系如下:Created with Raphaël 2.1.0ORS、OFS则用于输出分析报表,但需要注意的是,ORS与OFS只对print函数有效,对printf无效。下面以一个非寻常格式的数据为例,样本如下:姓名:甘腾升年龄:29姓名:李林年龄:23需要将其转换为

2017-12-17 19:28:46 1606

libgcrypt11_1.5.3-2ubuntu4_amd64

libgcrypt11

2016-12-14

Chrome代理快速切换工具

Chrome代理快速切换工具,支持多个代理,以浏览器插件方式进行安装。

2016-12-06

Weblogic证书登陆配置

在事业机关与政府组织机构中,WEB程序支持HTTPS证书登陆已成为基本需求,本文以Java技术为例,由浅入深,详细讲解证书登陆的原理及具体应用。

2016-07-09

syntaxhighlighter可执行库与示例

syntaxhighlighter是一个强大的语法高亮器,但是需要自己编译,较为繁琐,我把其编译为一个架包,并提供了相关的DEMO。

2016-07-06

Weblogic 兼容JPA相关架包架包

Weblogic不能兼容JPA2.0,引用资源及相关路径设置,内包含详细的操作说明

2016-06-02

空空如也

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

TA关注的人

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