Pentaho Work with Big Data(七)—— 从Hadoop集群抽取数据

一、把数据从HDFS抽取到RDBMS

1. 从下面的地址下载示例文件。

http://wiki.pentaho.com/download/attachments/23530622/weblogs_aggregate.txt.zip?version=1&modificationDate=1327067858000

2. 用下面的命令把解压缩后的weblogs_aggregate.txt文件放到HDFS的/user/grid/aggregate_mr/目录下。

hadoop fs -put weblogs_aggregate.txt /user/grid/aggregate_mr/

3. 打开PDI,新建一个转换,如图1所示。

图1

4. 编辑‘Hadoop File Input‘步骤,如图2到图4所示。

图2

图3

图4

说明:

. PDI连接Hadoop集群参考http://blog.csdn.net/wzy0623/article/details/51086821

. 以tab作为分隔符。

5. 编辑‘Table Output‘步骤,如图5所示。

图5

说明:

. mysql_local是已经建好的一个本地mysql数据库连接,设置如图6所示。

图6

. “数据库字段”标签不需要设置

6. 执行下面的脚本建立mysql的表

use test;
create table aggregate_hdfs (
    client_ip varchar(15),
    year smallint,
    month_num tinyint,
    pageviews bigint
);

7. 保存并执行转换,日志如图7所示。

图7

从图7可以看到,转换已经成功执行。

8. 查询mysql表,结果如图8所示

图8

从图8可以看到,数据已经从HDFS抽取到了mysql表中。

二、把数据从Hive抽取到RDBMS

1. 执行下面的脚本建立hive的表

create table weblogs (
    client_ip    string,
    full_request_date string,
    day    string,
    month    string,
    month_num int,
    year    string,
    hour    string,
    minute    string,
    second    string,
    timezone    string,
    http_verb    string,
    uri    string,
    http_status_code    string,
    bytes_returned        string,
    referrer        string,
    user_agent    string)
row format delimited
fields terminated by '\t';

2. 从下面的地址下载示例文件。

http://wiki.pentaho.com/download/attachments/23530622/weblogs_parse.txt.zip?version=1&modificationDate=1327068013000

3. 用下面的命令把解压缩后的weblogs_parse.txt文件放到HDFS的/user/grid/parse/目录下。

hadoop fs -put weblogs_parse.txt /user/hive/warehouse/test.db/weblogs/

至此,hive表里的数据如图9所示。

图9

4. 打开PDI,新建一个转换,如图10所示。

图10

5. 编辑‘Table input‘步骤,如图11所示。

图11

说明:hive_101是已经建好的一个hive数据库连接,设置如图12所示。

图12

说明:PDI连接 Hadoop hive 2,参考http://blog.csdn.net/wzy0623/article/details/50903133

6. 编辑‘Table output‘步骤,如图13所示。

图13

说明:

. mysql_local是已经建好的一个本地mysql数据库连接,设置如图6所示。

. “数据库字段”标签不需要设置

7. 执行下面的脚本建立mysql的表

use test;
create table aggregate_hive (
    client_ip varchar(15),
    year varchar(4),
    month varchar(10),
    month_num tinyint,
    pageviews bigint
);

8. 保存并执行转换,日志如图14所示。

图14

从图14可以看到,转换已经成功执行。

9. 查询mysql表,结果如图15所示

图15

从图15可以看到,数据已经从hive数据库抽取到了mysql表中。

参考:

http://wiki.pentaho.com/display/BAD/Extracting+Data+from+HDFS+to+Load+an+RDBMS

http://wiki.pentaho.com/display/BAD/Extracting+Data+from+Hive+to+Load+an+RDBMS

时间: 2024-10-10 15:02:59

Pentaho Work with Big Data(七)—— 从Hadoop集群抽取数据的相关文章

Hadoop集群间数据拷贝

有时候,我们需要做Hadoop集群迁移时,要把大量存储在Hadoop集群上的数据也一并迁移过去.有2种方法可以使用: 1. old hadoop cluster--->old local disks---->transmission---->new local disks----->new hadoop cluster 2. old hadoop cluster---->mapreduce--->new hadoop cluster 很显然第一种方法很不靠谱,我们采用第

Hadoop集群大数据平台搭建

Hadoop集群环境搭建配置 前言 Hadoop的搭建分为三种形式:单机模式.伪分布模式.完全分布模式,只要掌握了完全分布模式,也就是集群模式的搭建,剩下的两种模式自然而然就会用了,一般前两种模式一般用在开发或测试环境下,Hadoop最大的优势就是分布式集群计算,所以在生产环境下都是搭建的最后一种模式:完全分布模式. 硬件选择 须知: 分布式环境中一个服务器就是一个节点 节点越多带来的是集群性能的提升 一个Hadoop集群环境中,NameNode,SecondaryNameNode和DataNo

Hadoop学习之路(七)Hadoop集群shell常用命令

Hadoop常用命令 启动HDFS集群 [[email protected] ~]$ start-dfs.sh Starting namenodes on [hadoop1] hadoop1: starting namenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-namenode-hadoop1.out hadoop2: starting datanode, logging to /home/hadoop/

阿里云ECS服务器部署HADOOP集群(七):Sqoop 安装

本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper) 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建 阿里云ECS服务器部署HADOOP集群(四):Hive本地模式的安装 的基础上搭建. 1 环境介绍 一台阿里云ECS服务器:master 操作系统:CentOS 7.3 Hadoop:hadoop-2.7.3.tar

Hadoop集群(第10期)_MySQL关系数据库

1.MySQL安装 MySQL下载地址:http://www.mysql.com/downloads/ 1.1 Windows平台 1)准备软件 MySQL版本:mysql-5.5.21-win32.msi 2)安装环境: 操作系统:Windows 7旗舰版 3)开始安装 第一步:双击"msi"安装文件,出现如图1.1-1界面——"MySQL安装向导",按"Next"继续. 图1.1-1 MySQL安装向导 第二步:在"I accept

用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(下)-搭建Hadoop集群

上篇:用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker 上篇介绍了快速上手Docker部分,下面接着介绍搭建Hadoop集群部分. 六.搭建Hadoop伪分布模式 我们先用前面创建的这个容器来搭建Hadoop伪分布模式做测试,测试成功后再搭建完全分布式集群. 1.SSH这个centos容器可以看做是一个非常精简的系统,很多功能没有,需要自己安装.Hadoop需要SSH,但容器没有自带,需要我们安装.①安装SSH # yum -y ins

Hadoop集群安装-CDH5(5台服务器集群)

CDH5包下载:http://archive.cloudera.com/cdh5/ 架构设计: 主机规划: IP Host 部署模块 进程 192.168.254.151 Hadoop-NN-01 NameNode ResourceManager NameNode DFSZKFailoverController ResourceManager 192.168.254.152 Hadoop-NN-02 NameNode ResourceManager NameNode DFSZKFailoverC

基于OGG的Oracle与Hadoop集群准实时同步介绍

Oracle里存储的结构化数据导出到Hadoop体系做离线计算是一种常见数据处置手段.近期有场景需要做Oracle到Hadoop体系的实时导入,这里以此案例做以介绍.Oracle作为商业化的数据库解决方案,自发性的获取数据库事务日志等比较困难,故选择官方提供的同步工具OGG(Oracle GoldenGate)来解决. 安装与基本配置 环境说明 软件配置 角色 数据存储服务及版本 OGG版本 IP 源服务器 OracleRelease11.2.0.1 Oracle GoldenGate 11.2

在Hadoop集群实施成功后再次格式化名称节点,datanode无法加入集群的处理办法

格式化namenode后,通过jps可发现datanode没有启动成功,查看datanode上的日志/home/wukong/usr/hadoop-1.2.1/logs/hadoop-wukong-datanode-bd12.log,可以发现是namespaceid不对. 解决办法: 1.查看namenode上hadoop.tmp.dir参数路径 /usr/hadoop-tmp/dfs/name/current/VERSION中的namespaceid: 2.在其他数据节点上修改上dfs.dat