Linux
wzy0623
25年的数据库、数据仓库、大数据相关工作。《Hadoop构建数据仓库实践》、《HAWQ数据仓库与数据挖掘实战》、《SQL机器学习库——MADlib技术解析》、《MySQL高可用实践》、《Kettle构建Hadoop ETL》、《Greenplum构建实时数据仓库实践》作者。
展开
-
用NC或rsync传文件和目录
目标机(172.16.1.125):nc -l 12345 | tar zxvf -源机(172.16.1.124):tar cfz - * | nc 172.16.1.125 12345原创 2020-03-02 18:02:26 · 906 阅读 · 0 评论 -
VirtualBox下Linux虚机扩容
节后上班第一天,按计划着手搭建hadoop和hive实验环境,还没开始安装就碰到一个坎,JDK安装包解包时报空间不足。原来的四个虚机,每个分配了8G,其中根文件系统6G,做完Fabric实验后空间所剩无几,因此需要扩容。下面记录的就是实际操作步骤。环境:VirtualBox 5.0.10、CentOS release 6.41. 使用下面的命令查看虚拟机的UUIDVBoxM原创 2016-02-15 11:30:07 · 7624 阅读 · 1 评论 -
kettle 5.1.0 连接 Hadoop hive 2 (hive 1.2.1)
1. 配置HiveServer2,在hive-site.xml中添加如下的属性 hive.server2.thrift.bind.host 192.168.56.101 Bind host on which to run the HiveServer2 Thrift service. hive.server2.thrift.port 1原创 2016-03-16 10:53:55 · 14072 阅读 · 2 评论 -
Hadoop集群安装配置实验
一、环境四台 VirtualBox上的Linux虚机,每台硬盘20G,内存768M。IP与主机名:192.168.56.101 master192.168.56.102 slave1192.168.56.103 slave2192.168.56.104 slave3主机规划:192.168.56.101做master,运行NameNode和ResourceManag原创 2016-02-17 17:12:45 · 6479 阅读 · 0 评论 -
hive 表数据加载、表删除试验
1. 非分区表(1)load 加载数据本地文本文件a.txt中有一行'aaa',执行下面的命令。CREATE TABLE t1 (name STRING);LOAD DATA LOCAL INPATH '/home/grid/a.txt' INTO TABLE t1;SELECT * FROM t1;dfs -ls /user/hive/warehouse/test.db/t1;原创 2016-03-04 17:14:51 · 4788 阅读 · 0 评论 -
利用sqoop将hive和mysql数据互导简单实验
1. Hadoop、Hive、MySQL安装(略)2. 下载sqoophttp://www.apache.org/dyn/closer.lua/sqoop/1.4.63. 解压tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz4. 建立软连接ln -s sqoop-1.4.6.bin__hadoop-2.0.原创 2016-03-18 11:16:22 · 5472 阅读 · 0 评论 -
hive动态分区插入实验
实验目的1. 验证对分区表进行动态分区插入功能2. 验证是否可以使用load进行动态分区插入实验步骤1. 在本地文件/home/grid/a.txt中写入以下4行数据:aaa,US,CAaaa,US,CBbbb,CA,BBbbb,CA,BC2. 建立非分区表并加载数据CREATE TABLE t1 (name STRING, cty STRING,原创 2016-03-07 11:15:48 · 10159 阅读 · 1 评论 -
hive安装配置实验
一、安装前准备1. 安装配置Hadoop,见http://blog.csdn.net/wzy0623/article/details/506815542. 下载安装包mysql-5.7.10-linux-glibc2.5-x86_64apache-hive-1.2.1-bin.tar.gzmysql-connector-java-5.1.38.tar.gz二、安装MyS原创 2016-02-18 14:40:42 · 3532 阅读 · 0 评论 -
Spark 安装配置实验
安装前准备hadoop 2.7.2 安装配置,参考http://blog.csdn.net/wzy0623/article/details/50681554安装spark1. 下载spark安装包,地址:http://spark.apache.org/downloads.html下载页面如图1所示图12. 解压缩tar -zxvf spark-1.6.0原创 2016-03-21 15:19:30 · 3953 阅读 · 0 评论 -
Pentaho Work with Big Data(一)—— Kettle连接Hadoop集群
准备研究一下Pentaho的产品如何同Hadoop协同工作。从简单的开始,今天实验了一下Kettle连接Hadoop集群。实验目的:配置Kettle连接Hadoop集群的HDFS。实验环境:4台CentOS release 6.4虚拟机,IP地址为192.168.56.101192.168.56.102192.168.56.103192.168.56.104原创 2016-04-07 16:10:49 · 18887 阅读 · 14 评论 -
Pentaho Work with Big Data(三)—— 向Hadoop集群导入数据
1. 向HDFS导入数据. 从下面的地址下载web日志示例文件,解压缩后的weblogs_rebuild.txt文件放到/home/grid/data-integration/test目录下。http://wiki.pentaho.com/download/attachments/23530622/weblogs_rebuild.txt.zip?version=1&modificati原创 2016-04-12 15:22:47 · 3002 阅读 · 0 评论 -
Pentaho Work with Big Data(二)—— Kettle提交Spark作业
实验目的:配置Kettle向Spark集群提交作业。实验环境:4台CentOS release 6.4虚拟机,IP地址为192.168.56.101192.168.56.102192.168.56.103192.168.56.104192.168.56.101是Spark集群的主,运行Master进程。192.168.56.102、192.168.56.原创 2016-04-08 16:09:37 · 10399 阅读 · 0 评论 -
Pentaho Work with Big Data(四)—— 转换Hive里的数据
1. 建立hive表,导入原始数据,过程参考http://blog.csdn.net/wzy0623/article/details/511337602. 建立一个作业,查询hive表,并将聚合数据写入一个hive表(1)打开PDI,新建一个作业,如图1所示。图1(2)建立一个hive的数据库连接,如图2所示。图2说明: kettle连接hive的相原创 2016-04-13 10:44:50 · 1951 阅读 · 0 评论 -
使用hive查询把访问网络流量会话化
《Hive编程指南》最后一章的Outbrain案例中,有一个把访问网络流量会话化的简单实现,但按照它的查询出来的结果是错的,于是自己重写了一个。一、问题提出(摘自书中原文) 为了分析网络流量,我们常常希望能够基于各种各样的标准来测量热度。一种方法就是将用户行为分解到会话中,一次会话代表单一的一次“使用”所包含的一系列操作。一个用户在一天内或者一个月中的某几天可以多次访问某原创 2016-03-28 11:40:17 · 3449 阅读 · 0 评论 -
Zeppelin 安装部署实验
一、实验目的1. 使用Zeppelin运行SparkSQL访问Hive表2. 动态表单SQL二、实验环境:12个节点的Spark集群,以standalone方式部署,各个节点运行的进程如表1所示。主机名运行进程nbidc-agent-03Hadoop NameNodeSpark Master原创 2016-04-20 16:02:27 · 7454 阅读 · 0 评论 -
Hbase 安装配置实验
一、实验环境3台CentOS release 6.4虚拟机,IP地址为192.168.56.101 master192.168.56.102 slave1192.168.56.103 slave2hadoop 2.7.2hbase 1.2.1hbase与hadoop的版本兼容性,参考http://hbase.apache.org/book.html#basic.原创 2016-04-25 13:38:27 · 3819 阅读 · 0 评论 -
Pentaho Work with Big Data(五)—— 格式化原始web日志
本示例说明如何使用Pentaho MapReduce把原始web日志解析成格式化的记录。一、向HDFS导入示例数据文件将weblogs_rebuild.txt文件放到HDFS的/user/grid/raw/目录下(因资源有限,本示例只取了这个文件的前10行数据)参考:http://blog.csdn.net/wzy0623/article/details/51133760二原创 2016-04-13 18:17:52 · 5143 阅读 · 0 评论 -
Pentaho Work with Big Data(六)—— 使用Pentaho MapReduce生成聚合数据集
本示例说明如何使用Pentaho MapReduce把细节数据转换和汇总成一个聚合数据集。当给一个关系型数据仓库或数据集市准备待抽取的数据时,这是一个常见使用场景。我们使用格式化的web日志数据作为细节数据,并且建立一个聚合文件,包含按IP和年月分组的PV数。关于如何使用Pentaho MapReduce把原始web日志解析成格式化的记录,参考http://blog.csdn.net/wz原创 2016-04-14 16:22:48 · 3602 阅读 · 0 评论 -
重新编译Hadoop 2.7.2 native以支持snappy
问题提出:在运行kylin sample时出现以下错误:org.apache.hadoop.hive.ql.metadata.HiveException: native snappy library not available: this version of libhadoop was built without snappy support.造成以上错误的原因是Hadoop的二进制原创 2016-04-27 17:43:02 · 9353 阅读 · 1 评论 -
Pentaho Work with Big Data(七)—— 从Hadoop集群抽取数据
一、把数据从HDFS抽取到RDBMS1. 从下面的地址下载示例文件。 http://wiki.pentaho.com/download/attachments/23530622/weblogs_aggregate.txt.zip?version=1&modificationDate=13270678580002. 用下面的命令把解压缩后的weblogs_aggregate.txt文原创 2016-04-15 13:30:59 · 7275 阅读 · 0 评论 -
Spark on YARN 部署实验
以前的Spark部署都是使用的standalone方式,集群中的每台机器都安装部署Spark,然后启动Master和Worker进程运行Spark。今天尝试一下Spark on YARN的部署方式。一、实验目的1. 只在一台机器上安装Spark,基于已有的Hadoop集群,使用YARN调度资源。2. 不启动Master和Worker进程提交Spark作业。3. 通过YARN的W原创 2016-04-11 12:40:07 · 4559 阅读 · 0 评论 -
基于独立Zookeeper集群的Hbase 安装配置实验
前面做了基于Hbase自带Zookeeper的安装配置(参考http://blog.csdn.net/wzy0623/article/details/51241641),今天做了个基于独立Zookeeper集群的。一、实验环境3台CentOS release 6.4虚拟机,IP地址为192.168.56.101 master192.168.56.102 slave1192.原创 2016-04-28 18:00:26 · 4027 阅读 · 1 评论 -
kylin 安装配置实验
一、实验环境3台CentOS release 6.4虚拟机,IP地址为192.168.56.101 master192.168.56.102 slave1192.168.56.103 slave2hadoop 2.7.2hbase 1.1.4hive 2.0.0zookeeper 3.4.8kylin 1.5.1(一定要apache-kylin-1.5.1-原创 2016-04-29 17:43:19 · 25594 阅读 · 5 评论 -
PageRank算法在spark上的简单实现
在《Spark快速大数据分析》里有一段不明觉厉的Scala代码,只用了区区几行即实现了Google的PageRank算法,于是照猫画虎做了个小实验验证了一下。一、实验环境spark 1.5.0二、PageRank算法简介(摘自《Spark快速大数据分析》) PageRank是执行多次连接的一个迭代算法,因此它是RDD分区操作的一个很好的用例。算法会维护两个数据原创 2016-05-12 13:02:30 · 16612 阅读 · 2 评论 -
Pentaho Work with Big Data(八)—— kettle集群
一、简介 集群技术可以用来水平扩展转换,使它们能以并行的方式运行在多台服务器上。转换的工作可以平均分到不同的服务器上。 一个集群模式包括一个主服务器和多个子服务器,主服务器作为集群的控制器。简单地说,作为控制器的Carte服务器就是主服务器,其他的Carte服务器就是子服务器。 一个集群模式也包含元数据,元数据描述了主服务器和子服务器之间怎样传原创 2016-04-18 22:14:07 · 5123 阅读 · 1 评论 -
在Hive上实现SCD
一、问题提出 官方一直称Hive是Hadoop数据仓库解决方案。既然是数据仓库就离不开多维、CDC、SCD这些概念,于是尝试了一把在Hive上实现SCD1和SCD2。这有两个关键点,一个是行级更新,一个是生成代理键。行级更新hive本身就是支持的,但需要一些配置,还有一些限制。具体可参考http://blog.csdn.net/wzy0623/article/details/51原创 2016-05-26 17:18:34 · 4617 阅读 · 0 评论 -
为已存在的Hadoop集群配置HDFS Federation
一、实验目的1. 现有Hadoop集群只有一个NameNode,现在要增加一个NameNode。2. 两个NameNode构成HDFS Federation。3. 不重启现有集群,不影响数据访问。二、实验环境4台CentOS release 6.4虚拟机,IP地址为192.168.56.101 master192.168.56.102 slave1192.168原创 2016-05-06 09:59:08 · 6065 阅读 · 0 评论 -
spark应用程序的运行架构
转自:spark应用程序的运行架构几个基本概念:(1)job:包含多个task组成的并行计算,往往由action催生。(2)stage:job的调度单位。(3)task:被送到某个executor上的工作单元。(4)taskSet:一组关联的,相互之间没有shuffle依赖关系的任务组成的任务集。一个应用程序由一个driver program和多个job构成。一个job由多转载 2016-05-18 09:32:02 · 1174 阅读 · 0 评论 -
基于Hadoop生态圈的数据仓库实践 —— 概述(二)
二、在Hadoop上实现数据仓库(大部分翻译自《Big Data Warehousing》) 数据仓库技术出现很长时间了,现在为什么要从传统数据库工具转为使用Hadoop呢?答案就是最引人关注的流行词汇 —— 大数据。对许多组织来说,传统关系数据库已经不能够经济地处理他们所面临的数据量。而Hadoop生态圈就是为了能够廉价处理大量数据的目的应运而生的。下面看看大数据是怎么定义原创 2016-06-25 08:17:01 · 12553 阅读 · 4 评论 -
基于Hadoop生态圈的数据仓库实践 —— 概述(一)
一、什么是数据仓库 一种被广泛接受的数据仓库定义是Bill Inmon在1991年出版的《Building the Data Warehouse》一书中所提出的 —— 数据仓库是一个面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持决策。它主要的目标是分析和处理数据,和传统的操作型事务处理有很大区别。1. 操作型系统和分析型系统 操作型系统完成原创 2016-06-25 07:45:55 · 10813 阅读 · 5 评论 -
基于Hadoop生态圈的数据仓库实践 —— 环境搭建(一)
一、Hadoop版本选型 主流的Hadoop生态圈有Apache、Cloudera、HortonWorks、MapR几个不同版本,其中Cloudera、HortonWorks、MapR这几个是开源产品的商业分发版,其价值主要体现在两个方面:(1)对Hadoop生态圈中各种各样的组件进行兼容性测试并打包;(2)提供工具简化Hadoop集群的安装和建立。 Had原创 2016-06-25 08:23:16 · 5833 阅读 · 3 评论 -
CDH 5.7.0 离线安装详解
一、环境1. IP和主机名,所有主机都可以连接互联网172.16.1.101 cdh1172.16.1.102 cdh2172.16.1.103 cdh3172.16.1.104 cdh42. 硬件资源每个机器:CPU4核、内存8G、硬盘100G3. 操作系统CentOS release 6.4 (Final) 64位二、配置1. 安装前准备原创 2016-06-07 10:45:06 · 7783 阅读 · 0 评论 -
基于Hadoop生态圈的数据仓库实践 —— 环境搭建(三)
三、建立数据仓库示例模型 Hadoop及其相关服务安装配置好后,下面用一个小而完整的示例说明多维模型及其相关ETL技术在Hadoop上的具体实现。1. 设计ERD 操作型系统是一个销售订单系统,初始时只有产品、客户、订单三个表,ERD如下图所示。 多维数据仓库包含有一个销售订单事实表,产品、客户、订单、日期四个维度表,ERD如下原创 2016-06-29 16:01:31 · 18855 阅读 · 7 评论 -
基于Hadoop生态圈的数据仓库实践 —— ETL(三)
三、使用Oozie定期自动执行ETL1. Oozie简介(1)Oozie是什么 Oozie是一个管理Hadoop作业、可伸缩、可扩展、可靠的工作流调度系统,其工作流作业是由一系列动作构成的有向无环图(DAGs),协调器作业是按时间频率周期性触发的Oozie工作流作业。Oozie支持的作业类型有Java map-reduce、Streaming map-reduce、Pig、 Hive原创 2016-07-11 15:05:16 · 19306 阅读 · 6 评论 -
基于Hadoop生态圈的数据仓库实践 —— 进阶技术(六)
六、维度层次 大多数维度都具有一个或多个层次。例如,日期维度就有一个四级层次:年、季度、月和日。这些级别用date_dim表里的列来表示。日期维度是一个单路径层次,因为除了年-季度-月-日这条路径外,它没有任何其它层次。本节讨论在维度的层次上进行分组和钻取查询。多路径层次在下一节“多路径和参差不齐的层次”中讨论。 为了识别数据仓库里一个维度的层次,首先要理解维度中列的含原创 2016-07-25 13:51:48 · 3988 阅读 · 0 评论 -
基于Hadoop生态圈的数据仓库实践 —— 进阶技术(二)
二、按需装载 前面已经做了“初始装载”和“定期装载”。还有一种需要熟悉的装载类型,按需装载。所谓“按需装载”指的是,在正常调度之外,当源数据有效或者数据仓库需要时进行装载。例如,促销销售源数据只有在促销期内有效,而在其它时间是无效的,而对促销期数据就要进行按需装载。 在“建立数据仓库示例模型”中讨论的日期维度数据生成可以看做是一种按需装载。数据仓库预先装载了日期,当日期原创 2016-07-14 16:11:42 · 5728 阅读 · 1 评论 -
基于Hadoop生态圈的数据仓库实践 —— 进阶技术(一)
一、增加列 数据仓库最常碰到的扩展是给一个已经存在的维度表和事实表添加列。本节说明如何在客户维度表和销售订单事实表上添加列,并在新列上应用SCD2,以及对定时装载脚本所做的修改。假设需要在客户维度中增加送货地址属性,并在销售订单事实表中增加数量度量值。 先看一下增加列时模式发生的变化。 修改后源数据库模式如下图所示。 修改后DW数据库模式如原创 2016-07-13 18:08:25 · 11497 阅读 · 2 评论 -
基于Hadoop生态圈的数据仓库实践 —— 进阶技术(四)
四、角色扮演维度 当一个事实表多次引用一个维度表时会用到角色扮演维度。例如,一个销售订单有一个是订单日期,还有一个交货日期,这时就需要引用日期维度表两次。 本节将说明两类角色扮演维度的实现,分别是表别名和数据库视图。这两种都使用了Hive的功能。表别名是在SQL语句里引用维度表多次,每次引用都赋予维度表一个别名。而数据库视图,则是按照事实表需要引用维度表的次数,建立相同原创 2016-07-18 17:32:01 · 10748 阅读 · 1 评论 -
基于Hadoop生态圈的数据仓库实践 —— ETL(二)
二、使用Hive转换、装载数据1. Hive简介(1)Hive是什么 Hive是一个数据仓库软件,使用SQL读、写、管理分布式存储上的大数据集。它建立在Hadoop之上,具有以下功能和特点:通过SQL方便地访问数据,适合执行ETL、报表、数据分析等数据仓库任务。提供一种机制,给各种各样的数据格式加上结构。直接访问HDFS的文件,或者访问如HBase的其它数据存储。可以通过MapRed原创 2016-07-06 11:46:10 · 19815 阅读 · 12 评论 -
基于Hadoop生态圈的数据仓库实践 —— 进阶技术(八)
八、多路径和参差不齐的层次 本节讨论多路径层次,它是对单路径层次的扩展。上一节里数据仓库的月维度只有一条层次路径,即年-季度-月这条路径。在本节中加一个新的级别——促销期,并且加一个新的年-促销期-月的层次路径。这时月维度将有两条层次路径,因此具有多路径层次。本节讨论的另一个主题是不完全层次,这种层次在它的一个或多个级别上没有数据。1. 增加一个层次 下面的脚本给mon原创 2016-07-29 13:16:39 · 3481 阅读 · 3 评论