大数据
低调的洋仔
春风桃李花开日,秋雨梧桐叶落时。西宫南内多秋草,落叶满阶红不扫。
展开
-
大数据时代--Hive技术原理解析
本文旨在讲解Hive的运行原理,帮助使用者更好的了解在使用的过程中它做了些什么工作,深入的理解他的工作机制,提高开发人员理论层面的知识。后面会逐渐推出Hive使用、Hbase原理与使用等大数据专题类文章,敬请关注。什么是Hive? Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储原创 2016-01-23 21:34:38 · 24878 阅读 · 4 评论 -
Hive数据仓库--Hive导出至Mysql中文乱码问题
也是目前遇到的比较棘手的问题之一,虽然最终解决的时候,并没有修改过多的东西,但是在这个过程中也折磨了近两天的时间。不过这个过程中,查阅了网络上以及书上等等的资料,对于Sqoop导出Hive数据到Mysql中也算是深刻的体验了一把,我解决问题的大致流程:1. 猜想语句中可能需要加参数设置utf-8的编码,但是不幸的是,设置完成后并没有起到应有的效果。2. 猜想数据库中编码存在问题(虽然我的这个最终不原创 2016-11-15 16:24:02 · 5929 阅读 · 0 评论 -
Hbase与Hive整合
Hbase版本0.96.2 Hive版本0.13 在整合的时候需要将Hbase的部分以Hbase开头的包导入到Hive的lib中,并且,尤其注意一个htrace-core-2.04.jar这个jar包,没有的话会出错。Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstr原创 2016-12-20 15:29:59 · 4786 阅读 · 2 评论 -
Hbase葱岭探秘--MR导入与分析数据
com.google.protobuf.HBaseZeroCopyByteString cannot access its superclass com.google.protobuf.LiteralByteString异常解决,以及如何通过MR将数据从文件导入到Hbase,如何通过MR对数据进行分析原创 2016-12-26 20:42:41 · 2028 阅读 · 0 评论 -
Hive正则表达式对数据过滤
正在做的一个项目中,由于数据量比较大,所以数据的内容比较乱,比如说mac地址,这个地址有的数据中存在,有的数据中不存在,当通过hive进行导出数据的时候,如果存在些非法的类型的数据会造成NoSuchElement异常,经过几天的排查与摸索,终于将该隐患排除。在hive中如果某些字段,尤其是中间的部分字段是空的值的话,很容易出错,在数据量十分大的情况下甚至于很难去查询到这种比较特殊的情况。 如图原创 2017-03-09 21:44:22 · 21724 阅读 · 2 评论 -
Hive数据仓库--UDF自定义函数以及其中的坑
一个简单的问题折腾了接近半天的时间,不过最终发现了问题出在哪里了,UDF这个是用户自定义函数,和sum等这种函数类似,主要作用是输入一个值,然后通过适当的处理后返回一个值。UDF倒是很简单的,基本上就是导入包,继承UDF类,实现一个evaluate方法就行了。UDF实例简单的一个测试程序,是分析下json格式的字符串,解析成对象数组的形式,然后做相应的调整。public class UDFTest原创 2016-10-31 23:22:57 · 4471 阅读 · 0 评论 -
Hive数据仓库--HiveUDF异常解析与其中的坑
使用Hive进行分析的过程中遇到了这个异常的信息,一开始看到比较惊讶,因为感觉代码并没有什么不太合理的地方,不过还是抛出了一堆的异常信息,我把日志信息读了一下,发现导致最终异常的是FastJson在封装的时候找不到无参构造函数,虽然最终原因不是Hive引起的,但是上面的一堆异常也的确是唬人的。异常信息Error: java.lang.RuntimeException: org.apache.had原创 2016-11-11 16:43:50 · 13465 阅读 · 0 评论 -
Hive数据仓库--Java代码JDBC方式访问Hive中表的数据
通过Java中jdbc的方式去操作Hive表中的数据,这个方式和之前web中使用的jdbc方式访问数据库是一致的。基本流程:1. 加载驱动程序。2. 建立连接。3. 预编译sql语句。4. 提交执行获取结果。基本的程序如下:try { Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver"); String selectSq原创 2016-10-28 13:46:01 · 11880 阅读 · 9 评论 -
Zookeeper异常:FAILED TO WRITE PID与Permission denied
搭建好的Hadoop集群环境突然在启动的时候抛出异常信息,之前测试很正常,后来仔细看了下抛出的异常信息,发觉很可能是权限的问题。这里对这个异常信息做一个简要的记录希望可以帮到以后遇到这样的问题的人,同时也为自己留作备忘录。异常信息[hadoop@hadoopwy2 bin]$ ./zkServer.sh startJMX enabled by defaultUs原创 2016-02-24 22:22:23 · 20629 阅读 · 6 评论 -
大数据时代--Hive数据定义
Hive中数据库的相关操作数据库的创建、删除hive (default)> create database if not exists wyTest;OKTime taken: 0.69 secondshive (default)> show databases;OKdefaultwytestTime taken: 0.031 seconds, Fetched: 2 row(原创 2016-09-14 17:32:15 · 3840 阅读 · 0 评论 -
大数据时代--Hive之开始动手(导入数据、查询、删除)
最近在忙于大数据的相关知识的学习,SpringMVC的源码也有在读,希望关注的朋友不要着急,后面我会尽快的推出,因为源码这东东着实比较高深,得反复的去琢磨才好,我如果直接读一点写一点感觉写出来的博文没有什么自己的见解,而且往往是云山雾绕的感觉,所以,我会在反复的琢磨之后,再进行更新。本文章也是之前从Hive基本原理中承诺的那样,原理讲完了得动动手实实在在的把他落实在脑子里。刚刚开始用可能不是很习惯原创 2016-08-24 21:04:44 · 2490 阅读 · 0 评论 -
大数据时代--Hive实战之Hive命令
接下来几天,先重温下Hive的基本命令,然后再以某个场景为前提进行一定的开发与设计。本文作为自己温故知新的文章,同时希望看到的朋友可以从中学到些Hive的基础知识,达到入门的目的。设置变量set foot = "wy";set foot;foot="wy"这里的变量是普通的。下面设置Hive用户自定义变量。 ./hive --define foot=name;Logging原创 2016-08-25 21:27:13 · 2999 阅读 · 0 评论 -
大数据时代--Hive数据操作之insert操作
前面文章中讲解了Hive的数据定义语言,接下来就是数据操作语言,数据定义语言主要包含了Hive表结构的一些操作:包含创建表、删除表、修改表的结构、增加列等等一系列操作。数据操作语言主要是对表中的数据的增删改查。数据插入通过查询语句进行插入,这里不像是MySql可以一条一条的进行插入操作,在Hive中我试了几次都没有成功,搜了下也都是通过select语句进行插入的。这里也算是原创 2016-09-23 22:01:58 · 13536 阅读 · 12 评论 -
Hive数据仓库--HiveQL查询
之前的博文中已经介绍过了,Hive的原理、Hive的数据定义、Hive的数据插入的相关知识,接下来学习下Hive的数据查询,总体来说感觉查询部分和Mysql相差并不是很大,当然并不是说没有差别的,个别的地方我会点出来。这里是之前的文章中操作的表的信息,并且,我们简单的查询下,你可以看到他的部分数据。hive> show tables;OKsalariessalaries_ex原创 2016-09-29 20:16:31 · 11655 阅读 · 0 评论 -
Hive数据仓库--HiveQL视图和索引
上篇文章中讲完了查询的相关操作,接下来就是视图与索引了,Hive中的视图的作用总的来说就是为了简化查询语句,是一个逻辑上的视图,而不是物化的视图。索引则是加快查询速度的比较重要的手段,之前的Mysql优化的文章中也讲到了索引的使用,感觉概念上和Mysql数据库中的操作基本上是相似的。视图创建这样的一个视图,高收入人群。我试了下,这里的视图并不会帮我们进行存储视图所代表的查询语句原创 2016-09-29 21:51:00 · 7122 阅读 · 2 评论 -
Hive数据仓库-Sqoop将数据从Mysql导入Hive中
Sqoop是一个实现在关系型数据库和Hive进行数据交换的工具。主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。参数hive导入参数 --hive-home 重写$原创 2016-10-26 17:37:50 · 18655 阅读 · 9 评论 -
Hive数据仓库-Sqoop导入数据注意事项
注意事项一按照整张表导入的时候,是按照原来数据库中列的顺序进行赋值的,也就是说如果数据库中A,B两列的数据,在Hive中导入数据的表是B,A两列,这个时候B中实际存储的值仍然是数据库A中的值,而A中存储的是数据库B列的值。注意事项二日期形式的数据,在数据库中导入的时候,可能是因为格式的问题,我的日期后面多一个.0然后映射不到日期数据,解决办法是将日期格式的数据改为string类型的数据(Hive中原创 2016-10-27 12:28:29 · 5063 阅读 · 7 评论 -
Zookeeper连接异常--无法建立连接
遇到这样的一个问题,一开始以为是环境不好使,结果后来才发现环境没问题,但是这真的是一个很无语的修复方式。[org.apache.zookeeper.ClientCnxn] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnectjava.net.Con原创 2019-07-17 02:20:21 · 8138 阅读 · 0 评论