- 博客(39)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 记一次差点删库跑路的经历
根据需求,我需要删除指定路径下已存在的内容,执行的命令是 rm -rf target_path ,而这个target_path 是作为参数传入的,我使用了python中的os.path.join拼接路径的各个部分。为了路径最后以"/"结尾,我就用使用了os.path.join(a,b,c,"/"),期望返回的是a/b/c/被误删数据的Linux服务器的文件系统是xfs,度娘告诉我可以使用TestDisk恢复误删数据,我就按照文档操作,最后真的恢复了大部分数据。然后就悲剧了......
2023-04-16 11:12:18
151
原创 大数据踩过的坑——Hive where 条件中 not in 或者 in的隐藏信息
最近查询数据的时候遇到了一个问题,百思不得其解,具体现象如下:select count(1) from idm.idm_table1_s_d where dt = '2020-03-18'结果为:2053683514select count(1) from idm.idm_table1_s_d where dt = '2020-03-18' and col_1 in ('1978004...
2020-04-19 21:34:05
6098
原创 Hive解析Json字符串(含json数组)
由于字段内容为Json字符串,随需要用到get_json_object(string json_string, string path),最初只是知道该方法可以解析简单的json字符串,比如:select get_json_object('{"key1":"value1","key2":"value2","key3":"value3"}','$.key1')结果:value1但由于目...
2020-04-19 21:11:29
4393
1
原创 Flink视频教程
最近在学习Flink,我比较喜欢看视频教程,在网上搜了很多,有的是收费的,有多说是免费的,但是下载完去看的时候有需要解密,然后给你个QQ,让你去加,然后付钱。最后我发现Flink中文社区有相关的视频教程,算是比较官方的了。我下载下来了,放在了百度网盘,如果大家需要,可以下载下来看。下载需要5个积分,就当是对我辛苦整理的认可吧。当然,你也可以直接去Flink中文社区下载观看,是免费的。Flink...
2019-08-25 18:13:42
4724
12
原创 本地Spark连接Hive异常问题
环境:idea spark2.2 hive1.1 maven3场景:本地运行Spark代码,连接Hive集群查询数据:本地设置了SPARK_HOME、SCALA_HOME将hive-site.xml复制到本地的%SPARK_HOME%/conf/路径下代码如下:def main(args: Array[String]): Unit = { val wareho...
2019-07-08 18:56:40
6972
原创 Apache Atlas 1.2.0 Hive Hook & Bridge配置手册
具体编译部署方法请参阅:Apache Atlas 部署手册参考:http://atlas.apache.org/1.2.0/Configuration.html http://atlas.apache.org/1.2.0/Hook-Hive.html1、修改hive-site.xml方法1:在/etc/hive/conf/hive-site.xml文件中添加如下内容:hiv...
2019-06-30 13:19:27
5807
5
原创 Apache Atlas 1.2.0 部署手册
参考:http://atlas.apache.org/1.2.0/InstallationSteps.html说明:本手册基于集群已有组件HBase和ElasticSearch,不使用内嵌的HBase和Solr。依赖:Maven 3.0+,Maven下载地址:http://maven.apache.org/download.cgi JDK 1.8+ 集群已有组件: HBase ...
2019-06-30 13:11:42
5643
9
原创 Apache Atlas 2.0.0编译过程中遇到的问题及解决方案
Atlas安装依赖:1、Maven 3.5+,下载安装包解压后配置环境变量即可,详细步骤请自行百度,下载地址:http://maven.apache.org/download.cgi2、Apache Atlas 2.0.0,下载地址http://atlas.apache.org/Downloads.html编译安装过程:可以参考官网教程:http://atlas.apache.org/...
2019-06-25 11:55:49
4262
21
原创 Hive UDF实现身份证强校验
工作中需要对Hive表中的身份证号进行强校验,由于最后一位是校验位,因此,简单的正则无法实现,随用UDF实现相关功能。我只是实现了功能,没有做深入的优化,欢迎各位留言,指导下如何优化,不胜感激。源码如下,import org.apache.hadoop.hive.ql.exec.UDF;import java.text.ParseException;import java....
2019-04-17 19:36:49
2015
转载 hive on spark 调优点
目录yarn配置1. 配置cores2. 配置内存spark配置1. executor内存2. driver内存3. executor数4. 动态executor申请5. 并行度hive配置预启动YARN容器hive on spark 性能远比hive on mr 要好,而且提供了一样的功能。用户的sql无需修改就可以直接运行于hive on sp...
2019-04-09 10:15:52
1336
原创 CDH 环境集成Kudu、Spark2服务方案及相关问题的解决方案
环境:Centos 7 、CDH 5.10.2、 Kudu1.4.0-1.cdh5.12.0.p0.25、Spark 2.2.0.cloudera1-1.cdh5.12.0.p0.142354我用了一天时间重新搭建了一个测试集群,在此过程中其他都很顺利,但是在安装Kudu、Spark2服务的时候遇到了一点问题,在这里记录下。按照官网的说明,CDH 在5.12之后的版本集成了Kudu...
2019-03-14 17:39:15
830
原创 sqoop2启动job时报错 java.lang.ClassNotFoundException: org.codehaus.jackson.map.JsonMappingException解决方案
初次使用Sqoop2,在 start job时出现了一下异常:java.lang.ClassNotFoundException: org.codehaus.jackson.map.JsonMappingException java.net.URLClassLoader.findClass(URLClassLoader.java:382) java.lang.ClassLoader.loa...
2018-12-12 15:15:08
827
原创 Spark java.lang.UnsupportedClassVersionError: xxxxxx: Unsupported major.minor version 52.0 解决方案
在运行Spark程序时,出现如下错误:Exception in thread "main" java.lang.UnsupportedClassVersionError: com/company/bi/spark/UserInfoToHbase : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineCla...
2018-12-07 18:17:11
3391
原创 yum pycurl: libcurl link-time version is older than compile-time version解决方案
在执行yum 命令时,出现如下错误:pycurl: libcurl link-time version is older than compile-time version错误的原因就是pycurl的版本太旧了,解决方案就是重装下pycurl。重装命令较为简单,先卸载(最好执行两次)pip uninstall pycurl 再安装 pip install pycurl...
2018-11-14 18:07:12
3132
原创 Hbase Python API Happybase中的Filter
Hbase多种API,我在项目中使用是Happybase。一些常用的操作在Happybase官网都有示例,而我在使用table.scan()方法,传入Filter时,找不到参考,不知道具体的语法。经过一番参考和测试,终于实现了想要的功能。现记录如下,供大家参考。Hbase Filter有很多种,具体可以参考Hbase官网关于Filter的介绍。平时最常用,网上例子最多的Filter就是 S...
2018-10-15 18:50:39
4692
3
原创 用Hive、Impala查询Hbase数据
近期有项目需要向Hbase写入数据,为了测试数据写入是否正常,常用Hbase shell查询数据,但是用起来比较麻烦,看到Clouder官网有关于使用Impala查询Hbase的操作说明,做了简单的尝试,记录如下,供大家参考。环境:CDH 5.10.2、Impala 2.7.0、Hive 1.1.0、Hbase 1.2.0原理:Hive创建外部表,建立与Hbase表的映射关系,从而...
2018-10-15 16:03:57
3729
原创 Kudu在使用过程中的各种限制(官方)
Kudu在使用过程中有各种限制,或者说叫注意事项,我结合官方文档和自己的经验进行了如下总结。Schema主键表创建后,主键不能修改。必须删除重建表指定新的主键。主键列必须在非主键列之前主键列的值不能使用UPDATE函数修改。如果要修改主键的值只能删除该行重新插入。DOUBLE、FLOAT或BOOL类型的列不能作为主键,此外,主键列必须为NOT NULL。不支持自动生成的主键(如自增列)组合主键的所...
2018-07-01 15:29:55
11912
1
原创 HDFS中Block size的默认大小
关于block size的默认大小,有的说是64 MB,有的说是128 MB。那么具体是从哪个版本由64 MB变成128 MB的?有的说是Hadoop 1.X版本是64MB,2.X版本是128MB,有的说Apache Hadoop 是64MB,Clouder Hadoop是128MB。我闲来无事,为了确认上述问题的答案,从Hadoop的官网上看了各个版本的说明文档中关于 Data Blocks 的...
2018-06-06 11:13:07
48211
4
原创 使用Impala在kudu中创建含中文字段名的表
Impala版本: 2.7.0+cdh5.10.2+0Kudu版本:1.4.0+cdh5.12.0+0Hue版本:3.9.0+cdh5.10.2+4153因业务需要,需要在kudu中创建含有中文字段的表。原来的方案是直接在Hue中Impala查询界面执行建表脚本,但是表中还有中文字段时,就执行出错,建表脚本和出错信息如下: 建表脚本:create table if not exists ku...
2018-05-08 19:29:33
7794
1
原创 Apache Kudu建表时报错:The requested number of tablets is over the maximum permitted at creation time (60)
在Kudu中建表时有以下错误信息:ImpalaRuntimeException: Error creating Kudu table 'impala::kudu_pdw.v_checkinfo' CAUSED BY: NonRecoverableException: The requested number of tablets is over the maximum permitted at...
2018-05-03 20:39:48
2816
1
原创 Impala用户自定义函数(UDF)
因业务需要用到MD5,但Impala没有该函数,随借助UDF实现。以下是实现过程。UDF实现要点:根据集群中Hive的版本导入对应版本的hive-exec.jar自定义UDF类要继承接口UDF实现evaluate()方法maven依赖: <dependency> <groupId>org.apache.hive</groupId&...
2018-04-24 19:40:56
12507
3
原创 Spark任务调优(1)——数据本地化
Spark官网有关于数据本地化的相关介绍:http://spark.apache.org/docs/2.1.0/tuning.html#data-locality本地化说明数据本地化可以对Spark任务的性能产生重大影响。如果数据和操作数据的代码在一块,计算通常会很快。但是如果数据和代码不在一起,就必须将一方移动到另一方。通常,将序列化的代码块从一个地方发送到另一个地方要比发送数据更快,因为代码的...
2018-03-23 19:06:45
1429
1
翻译 指南:优化Apache Spark作业(第2部分)
说明:借助谷歌翻译,以个人理解进行修改原文地址:https://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/在本系列的结语中,了解资源调优,并行性和数据表示如何影响Spark作业性能。在这篇文章中,我们将完成“指南:优化Apache Spark作业(第1部分)”中的内容。我将尽力涵盖所有你想知道的...
2018-03-22 23:43:29
238
翻译 指南:优化Apache Spark作业(第1部分)
说明:借助谷歌翻译,以个人理解进行修改原文地址:http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-1/学习调整Apache Spark作业以获得最佳效率的技巧。当您通过公共API编写Apache Spark代码和页面时,您会遇到像transformation,action和RDD这样的单词。在...
2018-03-22 00:04:18
231
原创 Cloudera Manager集群报警,堆转储目录/tmp 或日志目录/var/log 可用空间小于 5.0 吉字节
在Cloudera Manager上收到报警信息如下:日志目录可用空间 抑制...此角色的 日志目录 所在的文件系统的可用空间小于 5.0 吉字节。 /var/log/hbase(可用:3.4 吉字节 (6.82%),容量:50.0 吉字节)(备注:这里日志目录还可能是 /var/log/spark、 /var/log/hive等。)堆转储目录可用空间 抑制...此角色的 堆转储目录 所在的文件系...
2018-03-12 17:52:08
10697
5
原创 Hive实现update和delete
因为业务要求,需要对Hive表进行delete,在官网查询后,发现update和delete是一类问题。在此总结下如何实现Hive表的delete和update。首先,先看下官网关于update和delete的相关说明,使用注意事项也请参考官网说明,这里只介绍如何实现相关功能。综合上述信息,Hive自0.14版本开始支持update和delete,要执行update和delete的表必须支持ACI...
2018-02-27 14:54:46
57760
3
原创 大数据踩过的坑——Hive union
我在使用Hive SQL时,一直以关系型数据库SQL的语法写的Hive SQL。当多表union同时需要去重的时候,我是用了如下SQL: select a.col1,a.col2,a.col3 from table_name_1 a union select b.col1,b.col2,b.col3 from table_name_2 b在运行时报错,错误信息为:Error w...
2018-02-26 11:14:45
7822
原创 大数据踩过的坑——Hive insert
我在对Hive表数据清洗后,使用了如下SQL将结果集插入到新表中: insert into db_name.table_name_1 ( col_1,col2,col3 ) with temp_table_1 as ( select id,col_2 from db_name.table_name_2 where id = condatiti...
2018-02-26 10:49:31
9878
原创 Hive查询使用exists/not exists报错For Exists/Not Exists operator SubQuery must be Correlated.
我执行的sql如下:select * from db_name.table_name_1 where exists(select 1 from db_name.table_name_2 a where a.row_id = db_name.table_name_1.row_id )执行后报错信息为:Error while compiling statement: FAILED: SemanticE...
2018-02-23 18:37:32
21456
3
原创 Hive分桶
Hive中的分桶,是对指定的列值取哈希与指定的分桶数取模,根据余数确定数据所在的分桶,适用于抽样和map-join。创建分桶表create table bucket_table_name [columns] clustered by (bucket_column_name) [SORTED BY (col_name [ASC|DESC], ...)] into num_buckets bucket...
2018-02-12 13:24:54
626
原创 Hive正则——regexp_extract
Hive中与正则相关的函数有两个,regexp_extract和regexp_replace,本篇介绍regexp_extract。官网中关于regexp_extract的介绍如下:参数说明: subject:待解析的字符串或者字符串类型的字段; pattern:正则表达式 index:返回结果取表达式的哪一部分 默认值为1。0表示把整个正则表达式对应的结果全部返pattern...
2018-02-11 12:02:04
4187
原创 Linux安装pip
在linux中安装pip命令,如果直接用yum install 安装可能会遇到很多问题。官网的这个方法可以很快很安全的安装好pip。官网地址:https://pypi.python.org/pypi/pip/1、打开pip官网后,点击“Installation”2、进入Installation页面后,右键点击“get-pip.py”,选择“复制链接地址”3、在Linux中输入 wget 粘帖复制的...
2018-02-09 16:52:48
45867
3
原创 关于pip install安装python依赖包时报错:command 'gcc' failed with exit status 1的解决方案
环境:Centos 7 Python 2.7在安装python依赖包时报错:command 'gcc' failed with exit status 1,如下图所示:解决方案是:sudo yum install python-devsudo yum install gcc如果问题还没解决,可以尝试安装如下依赖包:sudo yum install libffi-develsudo yum inst...
2018-02-09 16:42:37
10010
原创 Spark 连接Hive的Cloudera相关配置
在使用Cloudera安装好Spark和Hive后,将含有操作Hive相关表的Spark任务以yarn模式提交到集群运行时,一直报错,通过yarn logs -applicationId 命令发现无法连接Hive,在spark-submit命令后添加--files /etc/hive/conf/hive-site.xml就可以正常运行。参考了Cloudera官网的相关介绍(https://www....
2018-02-09 16:21:35
1743
3
原创 S3文件导入Redshift,Check 'stl_load_errors' system table for details.
在将S3文件导入到Redshifit,提示错误:psycopg2.InternalError: Load into table 'table_name' failed. Check 'stl_load_errors' system table for details.并没有具体的错误原因,只能按照提示查系统表stl_load_errors。解决方案:在Redshift中查询系统表ST
2018-02-07 11:45:07
2187
转载 Hive存储格式对比
Apache Hive支持Apache Hadoop中使用的几种熟悉的文件格式,如TextFile,RCFile,SequenceFile,AVRO,ORC和Parquet格式。Cloudera Impala也支持这些文件格式。 在建表时使用STORED AS (TextFile|RCFile|SequenceFile|AVRO|ORC|Parquet)来指定存储格式。TextFile每一行都是一
2018-01-19 10:38:43
6623
转载 SQL Server 日期和时间函数
1、常用日期方法(下面的GetDate() = '2006-11-08 13:37:56.233')(1)DATENAME ( datepart ,date ) 返回表示指定日期的指定日期部分的字符串。Datepart详见下面的列表.SELECT DateName(day,Getdate()) –返回8 (2)DATEPART ( datepart , date )
2013-05-31 12:34:01
435
原创 关于SQL Server星期问题的处理
在中学的时候我们就知道,西方国家每周的第一天是周日,而在我们国家,通常认为一周的第一天是周一,这样在项目开发的过程中就会遇到类似的冲突,现在提供两种解决方法,供大家参考,如果有更好的方法,欢迎回帖讨论由于在实际项目开发中,在存入星期几的时候,通常只存给定日期是一周的第几天(即阿拉伯数字),而不是存入“星期1”或者“Monday"所以今天提供的方法只返回当前日期是本周的第几天,当前是周五
2013-05-31 12:29:19
897
Apache Kylin权威指南
2018-08-08
2018年最新版Kafka权威指南(薛命灯 译)
2018-07-21
海况威视Web 3.0 控件开发包编程指南
2016-07-29
SQL Server 2008 执行UPDATE成功后查询不到执行的结果
2014-05-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人