前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pentaho Work with Big Data(七)—— 从Hadoop集群抽取数据

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

作者头像
用户1148526
发布2022-05-07 13:09:51
2530
发布2022-05-07 13:09:51
举报
文章被收录于专栏:Hadoop数据仓库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/目录下。

代码语言:javascript
复制
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的表

代码语言:javascript
复制
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的表

代码语言:javascript
复制
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/目录下。

代码语言:javascript
复制
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的表

代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档