- 博客(228)
- 资源 (63)
- 收藏
- 关注
原创 LINUX通过python连接ACCESS(.mdb和.accdb文件)数据库
前言因为ACCESS主要还是微软的那一套,所以WIN平台的连接方式不再赘述,网上方案很多。LINUX上的连接,主要还是分为ODBC和JDBCODBC方案包安装linux需安装的包:mdbtools, unixODBC, libmdbodbcpython需安装的包:pyodbc或pypyodbc配置配置/etc/odbcinst.ini[MDBToolsODBC]Descript...
2020-01-19 15:09:48 3946
原创 Container killed on request. Exit code is 143
背景只是一条INSERT语句插入一条数据,然后就报错报错如下Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask分析之前写过这个错误,这只是个表象错误,具体问题还是需要看日志分析。Z正常日志里没有报错,在这个任务的一个POST日志文件中发现如下报错Container contai...
2020-01-08 18:31:59 5602
原创 数据分析——数据探索
数据质量分析主要检查原始数据中是否存中脏数据:缺失值异常值不一致的值重复数据及含有特殊符号的数据缺失值处理方式:删除、插补、不处理异常值简单统计量分析3σ原则箱型图分析数据特征分析...
2019-12-28 15:46:32 542
原创 分类算法的评估方法
基本术语常见的模型评价术语,假设分类目标只有两类,计为正例(positive)和负例(negtive)则:1)True positives(TP):被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数(样本数);2)False positives(FP):被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数;3)False negatives(FN):被错误地划...
2019-12-24 10:50:55 1351
原创 python中的@
前言多次见到@符,多次听到“装饰器”,“修饰函数”这个,之前也半知半解的学习了解过,但是又默默的忘记了,最近又遇到了,在这好好学习记录一下。定义与用途简单的讲,@是一个装饰器,针对函数,起调用传参的作用。是不是很抽象,很不好理解。下面慢慢讲:@可以在模块或者类的定义层内对函数进行修饰,出现在函数定义的前一行,不允许和函数定义在同一行,一个修饰器就是一个函数,它将被修饰的函数作为参数,并返回...
2019-11-15 18:51:01 890
原创 impala drop删除表注意问题
背景在使用impala drop表然后新建该表再插入数据时,发现以前的数据还在里面。drop和create过程都没有报错。。。实际分析发现,drop表后再select报错,报表不存在,但实际应该是删除了映射关系,但是hdfs上的文件并没有删掉,然后新建表后,再插入数据,数据又写入到了以前的文件里,造成该现象。处理方案impala 在执行 drop table 操作时,需要把文件移到到 h...
2019-09-26 14:16:31 3648
原创 hive where过滤条件中数值比较注意问题
背景hive版本1.2.1问题where过滤条件中很多条件,其中包含了数值比较情况,当时开发人员没注意写的是a=0.01进行比较,a为数值型,造成过滤条件不生效的情况。单独是用a=0.01可以,但是在复杂条件下会出现问题。在impala中执行同样的sql却不会有问题,说明hive本身对数值比较的处理方式跟impala不同。解决数值型字段比较最好还是避免等值比较,还是采用相加相减在一定精...
2019-09-26 09:46:43 2688
原创 mysql跨库转移数据
导出select * from e into outfile "/data/mysql/e.txt" fields terminated by '|';注:outfile ‘/path/file’,中的 path 需要有mysql的权限,否则会报错。导入load data infile "/data/mysql/e.txt" into table e fields terminated ...
2019-09-25 19:19:32 1268
原创 hive函数to_unix_timestamp与unix_timestamp效率问题
可怕,hive版本1.2.1,实践中发现,to_unix_timestamp比unix_timestamp函数快几十甚至上百倍!!!
2019-09-25 08:27:46 4366 1
原创 HIVE decimal类型溢出问题
背景hive版本1.2.1s1字段类型为DECIMAL(38,a)s2字段类型为DECIMAL(38,b)s3字段类型为DECIMAL(38,c)s1 * s2* s3结果为NULL,没有报错解决办法猜测为hive隐式转换数值型溢出,导致显示为NULL,可通过CAST强制转换精度进行处理,如CAST((s1 * s2) as DECIMAL(38,d)) * s3...
2019-09-25 08:25:01 7826
原创 hive的between-and问题
背景hive版本1.2.1存储格式parquet筛选字段为STRING类型的日期,如’20190918’时出现不包含头尾的现象。实验先分别创建parquet格式T1表与textfile格式的T2表,CREATE TABLE IF NOT EXISTS TEMP.t1(a STRING ) Partitioned by (BDW_Data_Dt STRING)Stored ...
2019-09-19 09:18:32 22143
原创 hive 表结构及数据的复制
非分区表复制表结构create table new_table like exists_table;复制表结构和数据create table new_table as select * from exists_table;分区表复制表结构create table new_table like exists_table;复制数据稍微麻烦点,使用hdfs拷贝文件,然后再修复表数据...
2019-09-16 16:34:24 794
原创 hdfs 跨集群数据迁移
背景测试环境数据缺失,需从开发环境同步数据过去,考虑采用Hadoop自带的数据迁移工具分析迁移数据评估开发环境数据比较杂乱,不是所有数据都需要迁移,且全部迁移即浪费时间,又没有价值,根据时间情况按库(甚至按表)进行迁移迁移工具使用Hadoop自带数据迁移工具Distcp,只需要简单的命令即可完成数据迁移。hadoop distcp hdfs://nn1:8020/dir1 hdfs:...
2019-09-16 15:41:47 437
原创 HDFS-Failed to add storage directory
背景重启DN,报错2019-09-16 10:30:21,724 WARN common.Storage (DataStorage.java:loadDataStorage(449)) - Failed to add storage directory [DISK]file:/hadoop/hdfs/data/java.io.IOException: Incompatible cluste...
2019-09-16 15:11:55 2297
原创 温故知新系列之python——copy & deepcopy
经过copy操作的两个数据对象拥有不同的地址空间,但是这个数据对象如果是内嵌了其他的复杂数据对象,这个内嵌的数据对象在两个数据对象中拥有相同的地址空间,修改其中的值会互相影响。经过deepcopy的操作的不管是内层还是外层数据对象都拥有不同的地址空间,修改其中的值不会互相影响。...
2019-09-04 11:25:03 273
原创 温故知新系列之python——and-or语法
在网上搜了一下,python 的and-or语法与C语言的三目运算符?:有类似的功能。但bool and a or b,当 a 为假时,不会跟C语言的 bool ? a : b 一样工作常用的是把 and-or 封装成一个函数:def choose(bool, a, b): return(bool and [a] or [b])[0]因为 [a] 是一个非空列表,它永远不会为假。甚...
2019-09-03 11:22:53 316
原创 impala精度修改问题
背景因上游数据精度发生变化,需相应调整大数据的精度,直接进行调整后,HIVE没有问题,但impala无法正常查询修改后的表,报错为column 'XXX' has an invalid type length分析&试验最开始以为是HIVE元数据的问题,因为是分区表怀疑历史分区相关信息没有变更,然后去HIVE元数据库查,结果元数据信息是一样的。然后网上去查资料,度娘真的啥也不知道啊...
2019-08-20 09:09:11 3251
原创 温故知新系列之python——行界符
在使用split函数时会遇到分割符问题,能被识别的行界符如下:行界符描述\nLine Feed 换行\rCarriage Return 回车\r\nCarriage Return + Line Feed 回车+换行\v or \x0bLine Tabulation\f or \x0cForm Feed 换页\x1cFile Se...
2019-08-15 19:15:08 331
原创 温故知新系列之python——基础要素
format()优点:不需要关注数据类型,而在%方法中%s只能替代字符串类型单个参数可以多次输出,参数顺序可以不相同填充方式十分灵活,对齐方式十分强大官方推荐用的方式简单字段名三种写法:省略不写{}数字 {十进制非负整数}变量名 {合法的Python标识符}复合字段名支持两种操作符:[]方括号.点号转换字段的取值有三种,前面要加!:s:传递参数之前先对参数调用 ...
2019-08-14 14:16:06 224
原创 ^M: bad interpreter: No such file or directory
背景shell脚本从Windows直接上传到Linux服务器上,运行报错。原因win跟linux字符不同导致方案vi打开文件,修改格式:set ff=unix或者在win平台有编辑器先转换到linux格式,再上传...
2019-07-08 14:35:42 565
原创 LINUX 磁盘空间问题总结
df -h 查看磁盘使用情况du -h -x –max-depth=1 查看目录占用空间大小du的工作原理du命令会对待统计文件逐个调用fstat这个系统调用,获取文件大小。它的数据是基于文件获取的,所以有很大的灵活性,不一定非要针对一个分区,可以跨越多个分区操作。如果针对的目录中文件很多,du速度就会很慢了。df的工作原理df命令使用的事statfs这个系统调用,直接读取分...
2019-06-26 17:22:25 276
原创 vi打开GBK编码文件乱码问题
问题vi打开GBK编码的文件乱码原理Vim有四个跟字符编码方式有关的选项,encoding、fileencoding、fileencodings、termencoding。它们的意义如下:encoding(enc):encoding是Vim的内部使用编码,encoding的设置会影响Vim内部的Buffer、消息文字等。在 Unix环境下,encoding的默认设置等于locale;Wi...
2019-06-26 16:36:18 3002
原创 hive中关键字作为列名的方法
背景上游系统表字段名是HIVE的关键字,但是抽取到大数据平台时,需要贴源,即不改变上游表结构,需保留该字段名。方法使用反单引号,一般为键盘ESC的下方,数字键1的左边,与~符号同一个键的返单引号键`SELECT `COMMENT` FROM TEST;...
2019-06-18 08:18:40 6349
原创 CRISP-DM模型
整理笔记,记一下~框架内容业务理解(Business Understanding)深刻理解业务需求,在需求的基础上制定目标和实现目标的计划数据理解(Data Understanding)主要为收集数据、熟悉数据、识别数据的质量问题。数据准备(Data Preparation)从收集的数据种选择必要的属性,并按关联关系将它们连接成一个数据集,然后进行数据清洗,如空值和异常值处理、离...
2019-05-25 22:20:54 3245
原创 hive explode与lateral view小记
之前也经常用到这两个函数,一般都是两个一起使用,没有区分这两个函数的区别。最近在用的时候,查了下还是在这里记录一下。explodeexplode函数作用就是将hive一行中复杂的array或者map结构拆分成多行。lateral viewlateral view与用户定义的表生成函数一起使用,如explode函数,为了解决UDTF不允许在select字段的问题。UDTF为每个输入行生成零...
2019-05-24 14:51:13 593
原创 HDFS Standby NameNode 启动问题
背景运行中的环境,平台发现告警NameNode Directory Status报警,具体为Failed directory count: 1,不影响使用,然后第二天晚上又发生Last Checkpoint的报错,查看HDFS Standby NameNode节点日志发现Exception in doCheckpoint,然后直接重启该Namenode,就发现重启失败,错误提示为NameNode...
2019-04-26 12:27:50 1709
原创 Sqoop export 导出推数详解
前言因为工作上用到sqoop从hive导出数据到关系型数据库,所以学习了下sqoop导出的具体功能,因除官网外(全英文,可能部分人不喜欢看英文),没有特别好的资料,在此整理总结下自己关注的一些东西。环境说明,sqoop 1.4.6,先按照导出到mysql进行总结。命令参数主要整理可能用到的参数,不包含所有参数,有需要可以自行去官方查看~~eval可使用SQL语句对关系数据库进行操作。后面...
2019-04-03 09:31:00 6892
原创 git archive 存在删除文件时报错
背景使用git archive打包两次提交之间的代码时,若中间存在已删除的文件,就会报 fatal:pathspec ‘xxxxxx’ did not match any files如:git archive --format=zip HEAD `git diff --name-only XXX1 XXX2` > 201903.zip方案获取两次提交之间不同的代码时,添加过滤条件...
2019-03-18 14:43:26 1255
原创 Hive分区表新增字段值为NULL
背景对于HIVE分区表通过add column添加字段,向已存在分区中插入数据,结果新增字段的值全部为null。 已存在分区会产生该问题,新分区不会产生该问题。原因实际上数据是插入成功的。HDFS上的数据更新了,但是我们查询的时候仍然查询的是旧的元数据信息(即Mysql中的信息)官方解释如下:Change Column Name/Type/Position/CommentALTER T...
2019-03-08 14:31:19 898
原创 Type DECIMAL is not supported in Kudu问题
背景使用IMPALA创建KUDU表的时报错。建表语句如下CREATE TABLE MY.TESTDECIMAL(ID INT PRIMARY KEY,AMT DECIMAL(18,2) )PARTITION BY HASH PARTITIONS 2STORED AS KUDU; 报错信息如下:Type DECIMAL(18,2) is not supported in Ku...
2019-03-06 11:37:48 1579
原创 Docker删除images问题——image has dependent child images
背景偶然间发现服务器上有很多镜像占用不少空间,想清理一下。结果直接进行删除报错:docker rmi 8f5116cbc201Error response from daemon: conflict: unable to delete 8f5116cbc201 (cannot be forced) - image has dependent child images然后上网需求方法,...
2019-02-01 10:22:09 14151
原创 Sqoop执行时的权限问题
错误信息如下:Permission denied: user=xxx,access=WRITE,inode="/user/xxx/.staging":hdfs:hdfs:drwxr-xr-x解决方法如下:hadoop fs -ls /user 查看目录然后又有两种可选1、切换到其中的用户2、赋权限 hadoop fs -chmod 777 /user/xxx(用哪个用户执行的,报哪...
2019-01-31 15:00:55 3348
原创 sqoop推数数据错误问题
背景在项目中使用sqoop往oracle推小数的时候发生数据异常的情况原因sqoop使用的oracle jdbc包版本太低,项目使用的是oracle 11g的版本,sqoop里的jdbc包是ojdbc14,是针对oracle 10的版本,针对11g版本至少是ojdbc5.方案直接换成ojdbc7,解决。...
2019-01-31 10:16:46 534
原创 Pyhive连接impala执行sql的问题
背景使用pyhive连接impala并执行sql语句,发现总是sql执行总是异常。原因经过跟踪源代码发现,pyhive执行sql的函数execute(),虽然指定了同步执行,但是同步只适用于执行hive的sql,对于impala来说,并没有起作用,导致实际执行的impala sql为异步的,则会出现异常情况。方案可人为判断sql执行情况,实现同步执行。通过poll()函数,获取TOpe...
2019-01-28 08:25:16 1708
原创 impala报错NoSuchMethodError: org.apache.hadoop.hive.metastore.MetaStoreUtils.updatePartitionStatsFast
背景在使用impala往表的新分区写数据时报错NoSuchMethodError: org.apache.hadoop.hive.metastore.MetaStoreUtils.updatePartitionStatsFast(Lorg/apache/hadoop/hive/metastore/api/Partition;Lorg/apache/hadoop/hive/metastore/W...
2019-01-09 16:09:05 2247
原创 Apache Kudu 的事务概念
Kudu 旨在最终完全获得 ACID ,但是多 tablet 事务尚未实施。最终 Kudu 将支持完全严格的可序列化语义。事实上,它已经在有限的范围内,但并不是所有的角落都被覆盖,因为这仍然是一个正在进行的工作。Kudu 目前允许以下操作:Write operations是在具有多个副本的单个 tablet 中,插入、更新或删除的 sets of rows ( 行集 )。写操作没有单独的 “...
2019-01-09 14:54:41 2341
原创 Impala create file /tmp/impala-scratch 报错
背景使用impala对大数据量进行处理时出现如下错误Create file /tmp/impala-scratch/XXX failed with errno=2 description=Error(2): No such file or directory原因查资料发现impala在大数据量处理时会用到磁盘保存中间数据By default, intermediate files us...
2019-01-09 08:18:12 1408
原创 python连接impala
网上的教程一般都是使用impyla,这里就不详细描述。因为项目本身先是用的HIVE作业,使用的是pyhive。安装impyla时,有些依赖包与之前的冲突,导致impala可以连接,但是hive连接不上,所以只能想别的办法。经过尝试后,发现pyhive可以直接连接impala,LZ的impala是开启了LDAP认证的:from pyhive import hiveconn = hive.Con...
2019-01-05 10:30:31 4699
原创 Kudu模式设计
Kudu 表具有与传统 RDBMS 中的表类似的结构化数据模型。模式设计对于实现 Kudu 的最佳性能和运行稳定性至关重要。每个工作负载都是独一无二的,没有一个最合适每个表的单一模式设计。在高层次上,创建 Kudu 表有三个问题:列设计,主键设计和分区设计。其中只有分区对于熟悉传统的非分布式关系数据库的人来说将是一个新的概念。The Perfect Schema (完美的模式)完美的模式将完成...
2019-01-02 08:34:00 1257
原创 KUDU和IMPALA的结合使用
Kudu 与 Apache Impala紧密集成,允许使用 Impala 的 SQL 语法从 Kudu tablets 插入,查询,更新和删除数据。此外,还可以用 JDBC 或 ODBC, Impala 作为代理连接 Kudu 进行数据操作。配置Kudu 内不需要进行配置更改,从而可以访问 Impala 。建议配置 Impala 与 Kudu Master servers 的位置:在 Imp...
2018-12-28 08:54:00 10515
颜色迁移算法
2015-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人