
看完这个你就会hadoop了
Lenskit
数据分析8年+
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(2)hadoop学习——hdfs架构详解
Hadoop整体架构架构: 1. 底层——存储层,文件系统HDFS 2. 中间层——资源及数据管理层,YARN以及Sentry等 3. 上层——MapReduce、Impala、Spark等计算引擎 4. 顶层——基于MapReduce、Spark等计算引擎的高级封装及工具,如Hive、Pig、Mahout等原创 2017-03-10 11:18:44 · 2242 阅读 · 0 评论 -
presto列转行
原数据有一列数据为[1,2] , [0,2]这样,需要统计每种类别具体的占比,所以需要行转列。由于数据在hive中,建表人员为了导数方便将字段类型设置成了string,而presto的列转行函数只能处理Array格式,尝试了一波cast as array,均以失败告终。一怒之下直接用两次repalce和一次split得到了array,后面就好办了。presto列转行示例:select...原创 2019-01-17 10:16:06 · 6380 阅读 · 0 评论 -
hive中对带分号的字符串做split分割
直接对字段进行split(';')操作会报错,其原因是因为:分号默认是sql的结束字符,因此需要用分号的二进制\073来表示。如果此时对字段进行此操作是没有问题的,比如:-- column1里的字符串是以分号分割的select split(column1,'\073') from xxx但是如果是以字符串进行尝试还是会报错,比如:select split('aa;bb;cc'...原创 2019-02-26 14:39:55 · 7648 阅读 · 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 · 18858 阅读 · 0 评论 -
(8)hadoop学习——内部表和外部表
hive默认建表方式就是建立内部表。建外部表语句:create external table table_exter(id int,name string,age int,tel string)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'stored as textfilelocation '/user/hive/warehou原创 2017-05-16 20:18:51 · 2743 阅读 · 0 评论 -
hadoop集群之间的文件拷贝——distcp
之前部门迁移hadoop,涉及到hive表的重建,以及hdfs上文件的迁移,还有oozie任务的修改。 hive重建表比较简单,首先show create table tablename;然后把建表语句拷贝下来即可,这里要注意的是,最好把stored as XXX语句也加上。一开始我没加,还出了错,因为两个hadoop集群的hive建表时的默认的存储格式不一致。 hdfs的数据原创 2017-06-22 11:45:23 · 5470 阅读 · 0 评论 -
hadoop上的工作流调度——oozie
Hadoop上的工作流调度Oozie是一个管理Apache Hadoop任务的工作流调度系统。Oozie工作流任务是有向无环图。Oozie协调任务是由时间(频率)和数据是否可获得来触发的oozie工作流。Oozie是一个可扩展的、可靠的和可延伸的系统。oozie主要由以下几部分组成:coordinator.xml和job.properties和workflow.xm原创 2017-05-15 19:43:02 · 1161 阅读 · 0 评论 -
(6)hadoop学习——hive的文件存储和基本数据类型
上一篇介绍了hive的架构,以及hive语句执行的过程。这篇详细介绍hive的文件存储和使用方法。Hive是hdfs上的数据仓库,而hdfs上存放的都是文件,所以hive中的表可以理解为对hdfs上文件的映射。看完下面的介绍,相信你能很清楚的理解:“hive中的表就是hdfs的文件”这句话。一,hive的文件存储默认hive仓库的路径为/user/hive/warehouse/原创 2017-05-08 19:21:54 · 1968 阅读 · 0 评论 -
(7)hadoop学习——hive的复杂数据类型
Hive常用的复杂数据类型有以下几种。包括ARRAY,MAP,STRUCT,UNION,这些复杂类型是由基础类型组成的。 ARRAY:ARRAY类型是由一系列相同数据类型的元素组成,这些元素可以通过下标来访问。比如有一个ARRAY类型的变量fruits,它是由['apple','orange','mango']组成,那么我们可以通过fruits[1]来访问元素orange。原创 2017-05-09 19:35:37 · 1062 阅读 · 0 评论 -
(5)hadoop学习——hive是什么?
Hive——hdfs上的数据仓库hive的架构主要分为以下几部分:Driver组件:它的作用是将我们写的HiveQL(类SQL)语句进行解析、编译优化,生成执行计划,然后调用底层的mapreduce计算框架。Metastore组件:元数据服务组件,这个组件存储hive的元数据,hive的元数据存储在关系数据库里,hive支持的关系数据库有derby、mysql。原创 2017-05-04 18:51:00 · 859 阅读 · 0 评论 -
(4)hadoop学习——mapreduce已死?
Hadoop的另一个核心,就是MapReduce,简单来说四个字:分而治之。 举个例子来说,我开了一家面馆,一开始知名度不够,每天也就卖个十几二十碗,一个人感觉很闲。随着时间推移,知道我家面馆的人越来越多,远远近近的人都来吃,没办法,味道好呀!原创 2017-04-06 18:50:30 · 2296 阅读 · 0 评论 -
(1)hadoop学习——hadoop的前世今生
事物存在必然有它的意义,hadoop的发展可以说是必然的趋势。当数据进入爆发式增长的时代,摩尔定律变得越来越不适用,原有的存储方式和计算方式已经跟不上处理的节奏了。原有的对应方式:加大磁盘空间(1T到100T?),加强cpu核心数(现在已经是8核,还能大到100核不成?计算机发热也是个问题)所以,谷歌的gfs和mp在众人的期盼下登场了(03和04年发布了两篇论文)。原创 2017-03-10 09:51:06 · 1861 阅读 · 2 评论 -
(3)hadoop学习——namenode的fsimage与editlog详解
Namenode主要维护两个文件,一个是fsimage,一个是editlog。fsimage保存了最新的元数据检查点,包含了整个HDFS文件系统的所有目录和文件的信息。对于文件来说包括了数据块描述信息、修改时间、访问时间等;对于目录来说包括修改时间、访问权限控制信息(目录所属用户,所在组)等。原创 2017-03-10 14:15:21 · 16265 阅读 · 1 评论 -
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 · 4006 阅读 · 0 评论