- 博客(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
1563
原创 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
7146
原创 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
10183
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
2045
原创 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
2701
原创 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
2008
1
原创 程序员生活杂记四:脱发
领导问:“你头发怎么这么少了?”答:“项目赶得太急,我跑得太快,头发没追上!”测试经理:“你头发怎么这么少了?”答:“因为我不想让别人抓到我代码的小辫子!”女朋友问:“你头发怎么这么少了?”答:“因为头发觉得我太偏心了,只爱代码不爱他!”老婆:“你头发怎么这么少了?”答:“为了省点洗发水,凑钱给你买包呗!”儿子:“爸爸,你头发怎么这么少了?”答:“只有头发少了,才能灵光一闪!”...
2018-09-20 17:23:33
1755
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
10357
原创 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
32244
原创 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
15817
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
15722
原创 HttpClient提交表单出现中文乱码的解决办法
有个项目需要为图片添加水印,本来运行得很好,但后来增加了自定义水印内容的需求,且需要支持中文,于是很简单地添加了表单描述字段“remark”,但后端解析到的字符为一连串“?”(难道水印也是满脸的懵逼?),代码如下:HttpEntity reqEntity = MultipartEntityBuilder.create();HttpEntity reqEntity = MultipartE...
2018-09-06 18:01:42
4110
原创 一种快速切割字符串的方法
在项目中,经常需要对字符串进行切割转换,以日期字符串“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
2693
原创 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
2486
原创 Scala守卫语句的两种用法
相比于JAVA,Scala的if增加了两项强大的功能,一是可以直接作为赋值语句,另一种功能是作为守卫语句,不仅远远超过JAVA,甚至也将PYTHON抛在身后。1. if作为赋值语句作为赋值语句,不仅仅只是替代了三元运算符,而且还能支持逻辑语句块,如下:val (a, b) = (10, 20)// 更添加更多逻辑控制,且支持语句块val value = if(a >...
2018-09-03 22:37:17
3122
原创 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
38634
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
110067
15
原创 Scala型变:不变、协变及逆变
Scala在高阶类型的使用中,有三种变化,分别是顺变、协变及逆变,下面详细讲讲它们的含义与应用。1. 高阶类型高阶类型是接受其他参数用来构造新类型的,所以又称为“类型构造器”,用type关键字来定义:// 定义高阶类型type Foo[T] = Function0[T]// 声明高阶类型变量val foo: Foo[Int] = () => 1// 输出...
2018-08-31 16:46:31
1940
原创 程序员生活杂记三:并行与并发
那天,被产品经理、测试、UI设计群殴了一顿,突然恍然大悟,他们真行啊,竟然使出了并行绝招。我擦一下鼻血,写一行代码,骂一句:“我只会单线程并发啊!”...
2018-08-30 22:31:56
1066
原创 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
1183
原创 Scala隐式类型约束的应用与总结
在《从JAVA到Scala(三):implicit的三种用法》中,详细地说明了“implicit”关键字的用法,但在实际中,它们可能结合使用为一种模式,比如play框架的JSON用法。// 在JSON化实例之前,必须定义隐式类型Writes[Location]implicit val locationWrites = new Writes[Location] { def write...
2018-08-25 19:21:29
699
原创 程序员生活杂记二:野草
三月,深夜,咸阳宾馆。 顾老板在笑,笑得很开心,自从那位老人来后,白天会议室,晚上标准间,另加上一日三餐,都被她订得满满当当。封闭开发,虽然他不懂,但是他从心里一直喜欢到脸上,甚至都想开心地吼出来。 但,他也有一丝担忧,或许下个月,那个老人就离开了,但这个想法,已经被打脸了三十六次。 二楼,会议室,那个老人坐得很端正,犀利的...
2018-08-24 07:50:31
491
1
原创 程序员生活杂记一:光盘与电工
终于确定了工作,成为了二线城市电力公司下属企业的程序员。 带着小兴奋,给老家大舅一个电话:“我找好工作了,是程序员!” 那边传来了迷茫的声音:“啥?” 我赶紧解释:“就是开发软件的。” 大舅:“软件?是不是制碟子(制作光盘)?” 我急忙辩解:“不是,软件是一门工程,它……” 大舅迅速掐断了...
2018-08-24 07:43:32
320
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
973
原创 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
1604
原创 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
1095
原创 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
1823
原创 SQL中查询“%”字符的三种方法
数据整理任务需要清除包含“%”字符的记录,经过简单的测试(基于MYSQL 5.6),大概有以下三种方法。1. 用“\”转义使用转义字符,将“%”写为“\%”,示例如下:select * from t_test where t_fr like '%\%%';写到这里,突然想到,如果记录中包含“\”字符怎么办?经过测试,在SQL中,需要连续4个“\\”才能正确表述“\”,如下:...
2018-08-21 18:39:39
31930
原创 “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
6862
原创 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
2832
原创 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
11246
原创 一则“HTTP 405 Method Not Allowed”的解决办法
在angular 1.4版本的项目中,程序一直运行正常,突然有一天,在提交表单时,提示“HTTP 405”错误——“Method Not Allowed”。从字面上的意思理解,很显然是提交方法的类型错误,要么是以GET方式向POST接口提交数据,要么是POST方式项GET接口提交数据,但反反复复检查了后端接口与提交方式,都是POST,完全没有问题。仔细检查前端代码,发现编写方式如下:...
2018-07-05 15:59:19
428617
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
14203
原创 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
45371
27
原创 JAVA反射(一):获取Class对象
1. 获取父类这是最简单也是最容易理解的方法——getSuperclass(),唯一需要说明的是,返回的一定是类,不是接口。2. 获取内部类获取内部类有两种,分别为class.getClasses()与class.getDeclaredClasses(),但它们两个差别极大,见下表: 方法名称 返回结果 包含接口 包含继承结果 仅包含公开 class.getClasses()
2017-12-20 23:17:29
1474
1
原创 在MinGW启动时激活环境变量
熟悉Linux的都知道,在进入SHELL时,一共有四种方式添加环境变量与添加自定义命令,如下: 文件位置 用途 优先级 补充说明 /etc/profile 通用环境信息,首用户登录执行 1 会从/etc/profile.d目录件中搜集shell的设置 /etc/bashrc 通用环境信息,每个用户登录时执行 2 暂无 ~/.bash_profile
2017-12-19 22:00:49
1396
原创 查找文件被操作的进程与代码
接手别人的工作,由于对难度估计不足,困难远远超过自己的想象,眼看着磁盘空间飞快的增长,就是找不到操作磁盘IO的代码。首先采用撞大运的方法,希望能从进程中找到蛛丝马迹,如下:ps -ef|grep sec.log结果很失望,果然没有找到需要的进程。只好换种方法,利用“fuser”从文件入手,如下:# 分析文件,得到进程号5166fuser -uv ./sec_audit_log/biz/sec_
2017-12-19 21:58:50
646
原创 消失的硬盘空间: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
9753
原创 GAWK(二):将RS、FS设置为连续空格的三种方法
在字符串的分割中,由于信息传递的多样性,导致分析的文本出现多样性,比如将常用的制表符“\t”设置为4个连续的空格,此时如果继续沿用默认的匹配,将会出现多个空白的域。解决此问题,最好的办法莫过于使用正则表达式,但AWK中并没有标准的空格转义字符,退格符\b(属于控制字符,编码为0000 1000)不等于空格。1. 使用字符表述这是最直接的方法,直接用空格键输入即可,共有两种方式,如下:# 请注意中括号
2017-12-18 22:32:26
755
原创 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
1661
syntaxhighlighter可执行库与示例
2016-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人