前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EMR数据导入Snova云数仓

EMR数据导入Snova云数仓

原创
作者头像
lambgong
发布2020-04-25 16:50:44
2.3K0
发布2020-04-25 16:50:44
举报

背景

在数据仓库的建设中,通常我们使用Hive处理原始数据(PB级别),进行耗时较长的ETL工作,再将结果数据(TB级别)交由准实时的计算引擎(如Snova)对接BI工具,保证报表的准实时展现。

本文介绍了如何将EMR上Hive的数据通过COS导入到Snova云数仓的过程。

步骤

开启EMR读写对象存储能力

首先需要保证EMR具备读写COS的能力,这里在创建EMR的过程中,可以进行勾选

image.png
image.png

创建Hive 本地表并写入数据

语法如下

代码语言:txt
复制
create table hive_local_table(c1 int, c2 string, c3 int, c4 string);
insert into hive_local_table values(1001, 'c2', 99, 'c4'),(1002, 'c2', 100, 'c4'),(1003, 'c2', 101, 'c4'),(1004, 'c2', 100, 'c4'),(1005, 'c2', 101, 'c4')

创建Hive COS外表

语法如下:

代码语言:txt
复制
create table hive_cos_table(c1 int, c2 string, c3 int, c4 string) 
row format delimited fields terminated by ',' 
LINES TERMINATED BY '\n'
stored as textfile location 'cosn://{bucket_name}/{dir_name}';

详细信息可以参考EMR文档 基于对象存储COS的数据创库

将本地数据导入COS

语法如下:

代码语言:txt
复制
insert into hive_cos_table select * from hive_local_table;

成功写入后,可以在对应的COS目录下看到文件

在Snova侧创建COS外表

语法如下:

代码语言:txt
复制
CREATE READABLE EXTERNAL TABLE  snova_cos_table (c1 int, c2 varchar(32), c3 int, c4 varchar(32)) 
LOCATION('cos:// {BUCKET}-{APPID}.cos.{REGION}.myqcloud.com/{PREFIX} secretKey=**** secretId=***')
FORMAT 'csv';

详细内容可以参见 使用外表

在Snova侧创建本地表并导入数据

语法如下:

代码语言:txt
复制
create table snova_local_table(c1 int, c2 text, c3 int, c4 text);
insert into snova_local_table select * from snova_cos_table;

注意

Snova不支持ORC,Parquet等格式,只支持CSV格式

Snova侧导入COS数据的效率与文件的个数有一定关系,建议个数为Snova计算节点个数的N倍

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 步骤
    • 开启EMR读写对象存储能力
      • 创建Hive 本地表并写入数据
        • 创建Hive COS外表
          • 将本地数据导入COS
            • 在Snova侧创建COS外表
              • 在Snova侧创建本地表并导入数据
              • 注意
              相关产品与服务
              对象存储
              对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档