
工作记录
Lenskit
数据分析8年+
展开
-
sparksql建表时java.sql.BatchUpdateException: Duplicate entry ‘‘ for key ‘PRIMARY‘
此报错大概率是因为列名有问题(中文列名或列名过长)When creating a table in Hive with column names over 128 characters an error like below is raised. Note: "COLUMNS_V2" is a Hive metadata table.具体链接:https://support.oracle.com/knowledge/Oracle%20Database%20Products/2255940_1.ht.原创 2020-07-17 14:49:22 · 8812 阅读 · 0 评论 -
mac安装scala并配置intelliJ IDEA
这篇博客主要介绍mac安装scala并且配置intelliJ IDEA0、安装jdk安装完在终端输入java -version有输出表示安装成功。1、下载scalahttp://www.scala-lang.org/download/2、安装后配置环境变量(此处需在用户的目录下进行操作)vi .bash_profileexport SCALA_HOME=Scala的路径/...原创 2018-09-29 15:23:31 · 4839 阅读 · 0 评论 -
presto和hive将查询结果保存到本地的方法
Insert overwrite LOCAL directory 'file:///xx/xx/xxx' ROW format delimited fields terminated BY "\t"上面是hive中将查询语句的结果插入到文件夹的方法。presto的方法如下:presto --server ip:port --catalog hive --schema default...原创 2019-01-28 13:29:58 · 3971 阅读 · 0 评论 -
presto列转行
原数据有一列数据为[1,2] , [0,2]这样,需要统计每种类别具体的占比,所以需要行转列。由于数据在hive中,建表人员为了导数方便将字段类型设置成了string,而presto的列转行函数只能处理Array格式,尝试了一波cast as array,均以失败告终。一怒之下直接用两次repalce和一次split得到了array,后面就好办了。presto列转行示例:select...原创 2019-01-17 10:16:06 · 6315 阅读 · 0 评论 -
hive中多行合并一行concat_ws(去重及不去重)
原始数据:id scoreaaa 1aaa 2aaa 3预期结果:id scoreaaa 1,2,3可使用select id,concat_ws(',',collect_set(cast(colname as string))) from table;使用concat_ws函数,需将字段转成string格式,collect_set会对该...原创 2018-10-09 14:56:38 · 18643 阅读 · 0 评论 -
presto计算日期间隔天数或者小时间隔——date_diff函数使用
“Presto是Facebook最新研发的数据查询引擎,可对250PB以上的数据进行快速地交互式分析。据称该引擎的性能是 Hive 的 10 倍以上。”,亲身用过之后,觉得比hive快了10倍不止。hive中查询日期间隔的函数是datediff:select datediff('2018-09-07','2018-09-05');结果是2。presto中我们需要达到相同的目的,函...原创 2018-09-28 15:32:02 · 48508 阅读 · 0 评论 -
python连接oracle报错CX_oracle解决方法
使用的python2.7 64位,但公司的oracle client是32位,连接时报错。 解决方法:1. 下载合适的oracle客户端,也就是64位的客户端;2. 解压到上层一点的目录,例如C:\oracle\instantclient_12_2;3. 把目录加到环境变量path中,如果有多个oracle环境变量,把它加到最前面;4. (非必须)下载安装正确的Visual Stu...原创 2018-03-22 18:52:25 · 4079 阅读 · 3 评论 -
hive在0.13后已支持in与not in查询
hive 0.13之后已经支持in和not in了,使用方式与rdms数据库一致原创 2016-09-22 14:41:46 · 15047 阅读 · 10 评论 -
python画直方图报错——max must be larger than min in range parameter
使用plt.show()画直方图,报错为max must be larger than min in range parameter。 不妨把空值去掉试试。原创 2017-04-24 16:26:09 · 9585 阅读 · 0 评论 -
java——list切割
import java.util.ArrayList;import java.util.List;public class ListUtils { public static List> splitList(List list, int pageSize) { int listSize = list.size(); // list的大小 int p原创 2017-04-24 13:58:43 · 7141 阅读 · 0 评论 -
Hadoop记录——hive中的decimal字段,shell的数据类型以及sqoop导出空string报错
Hadoop中的一些事情,遇到了就记录下来。1、hive中的decimal字段对应于pg库中的numeric,默认为(10,0),若不指定,数据将被四舍五入。比如0.82,在hive中会变成1,所以建表时最好指定精度,decimal(10,2)。2、shell中拼接年月日得到的日期,默认会是int型。3、sqoop导数时。原创 2016-11-17 14:56:17 · 20805 阅读 · 0 评论 -
配置linux主机到windows主机ssh免密登陆
接上篇,从linux主机scp文件到windows主机,每次输入密码肯定不现实。所以需要配置linux主机到windows主机ssh免密码,cd /home/你的用户/.ssh/,如果里面有id_rsa.pub,将里面的文本拷贝至D:\cygwin\home\eriadmin\.ssh的authorized_keys里即可,如果该目录不存在,手动生成密钥原创 2017-04-18 10:52:16 · 3071 阅读 · 0 评论 -
文件传输命令scp使用——linux主机传文件到windows主机
工作需要在主机间传输文件,使用scp命令。scp 文件名用户名@远程ip:/cygdrive/具体目录因为是linux主机传输文件到windows主机,所以需要在目录前加/cygdrive,不然会报错原创 2017-04-18 10:10:39 · 3554 阅读 · 0 评论