DLA Presto支持自建HiveMetastore数据源

简介: DLA近期发布了支持访问用户自建HiveMetastore的功能,可以通过DLA分析自建HiveMetastore的数据。此外还能通过DLA Presto加速查询性能。

背景介绍

阿里云数据湖分析(DLA)产品提供一站式的数据湖分析与计算服务。DLA Presto可以实现高效的在线分析,主要面向用户探索式分析、报表以及轻量ETL的场景。


DLA Presto已经支持比较多的数据源,但对于用户自建的大数据集群(它元数据存储在HiveMetastore,数据存储在HDFS),有时也希望和OSS、RDS、AnalyticsDB、MaxCompute、TableStore、ElasticSearch等数据关联查询,但却较难实现。因此DLA近期发布了支持访问用户自建HiveMetastore的功能,可以通过DLA分析自建HiveMetastore的数据。此外还能通过DLA Presto加速查询性能。


操作步骤

1. 准备数据。

  • 在自建的HiveMetastore中创建库,表,并插入一条记录。
CREATE DATABASE testdb;
CREATE EXTERNAL TABLE if not exists testdb.testTable(
                id int,
                name string);
insert into testdb.testTable(id, name) values (1, "jack");

2.开通DLA Presto CU版

3. 绑定数据源网络。注意这里绑定的数据源网络和HiveMetastore要在同一个vpc下面,确保网络可以联通。

4. 连接DLA,创建库:

CREATE DATABASE `dladb`
WITH DBPROPERTIES (
    catalog = 'customer_hive',
    database = 'testdb',
    location = '172.16.199.34:9083',
    vpc_id = 'xxx',
    hdfs_properties = 'fs.defaultFS=hdfs://172.16.199.41:9000'
)

说明 您也可以通过MySQL客户端或者程序代码等方式链接DLA,然后执行SQL命令创建库。参数说明:

  • catalog 固定为customer_hive,表示数据源是用户的HiveMetastore数据。
  • database 指定用户HiveMetastore的HiveServer中的库名。
  • location 指定用户HiveMetastore的HiveServer地址。
  • vpc_id 指定HiveMetastore所在的vpc。
  • hdfs_properties指定HiveMetastore中默认的hdfs配置。包括两种情况:
  • 非HA的HDFS:
hdfs_properties='fs.defaultFS=hdfs://172.16.199.41:9000'
注释,这里的hdfs的配置为自建HDFS的地址,需要指定为IP或域名,不能为hostname。
  • HA的HDFS:
hdfs_properties='fs.defaultFS=hdfs://emr-cluster;dfs.nameservices=emr-cluster;dfs.client.failover.proxy.provider.emr-cluster=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider;dfs.ha.namenodes.emr-cluster=nn1,nn2;dfs.nameservice.id=emr-cluster;dfs.namenode.rpc-address.emr-cluster.nn1=172.16.199.34:8020;dfs.namenode.rpc-address.emr-cluster.nn2=172.16.199.35:8020'
注释,这里的hdfs的配置为自建HA HDFS的配置,需要指定为IP或域名,不能为hostname。
  1. 建表,可以通过create table或msck两种方式修表。
  • 创建表映射
CREATE EXTERNAL TABLE if not exists dladb.testTable(
                id int,
                name string);

 说明 表名testTable需要和HiveMetastore中对于的db的表名相同。

  • msck创建表映射
msck repair database dladb;


  1. 查询表

查询或访问数据由于只有CU的计算资源和HiveMetastore网络可以联通,因此所有访问HiveMetastore表的SQL语句都需要指定hint: /*+cluster=your-vc-name*/ ,这样SQL就会在CU中执行。

示例:

mysql> /*+ cluster=vc-test */ select * from  dladb.testTable;
+------+------+
| id   | name |
+------+------+
|    1 | jack |
+------+------+
1 row in set (1.74 sec)

更多信息可参考DLA帮助文档。

使用DLA Presto的优势

DLA Presto(兼容Presto)的目标是提供比开源自建更高的性价比、开箱即用的体验、方便的数据摄入、MySQL生态带来的简单易用、内置各种优化的数据湖分析计算服务。用户可以先通过使用Serverless版本低成本试用,然后根据使用频率的高低、对资源是否有强独占的需求来决定生产环境使用Serverless版本还是CU版本。DLA Presto还在不断发展中,目前规划中的一些特性包含:

  • 按照时间段或者工作负载进行自动扩缩容,帮助用户节省成本。
  • 支持文件缓存机制,提升查询性能
  • 内置大数据最佳实践,自动拦截Bad SQL

欢迎大家关注我们的钉钉群获取最新的信息:



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
网络协议 Linux C语言
Linux实现socket网络通信
Linux实现socket网络通信
302 0
|
资源调度 分布式计算 数据可视化
DolpinScheduler2.0.5详细介绍与踩坑实战
大数据之DolpinScheduler2.0.5详细介绍与踩坑实战
DolpinScheduler2.0.5详细介绍与踩坑实战
|
Web App开发 数据可视化 前端开发
测试篇:性能监测之Performance、LightHouse 与性能 API
测试篇:性能监测之Performance、LightHouse 与性能 API
测试篇:性能监测之Performance、LightHouse 与性能 API
|
物联网 5G vr&ar
5G频谱分布:连接未来的桥梁
5G频谱分布:连接未来的桥梁
1176 2
爆赞!终于有大佬把网络安全零基础入门教程给讲明白了!
网络安全的一个通用定义指网络信息系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的破坏、更改、泄露,系统能连续、可靠、正常地运行,服务不中断。网络安全简单的说是在网络环境下能够识别和消除不安全因素的能力。 网络安全在不同环境和应用中有不同的解释,例如系统运行的安全、系统信息内容的安全、信息通信与传播的安全等。 网络安全的主体是保护网络上的数据和通信的安全,数据安全性是指软硬件保护措施,用来阻止对数据进行非授权的泄漏、转移、修改和破坏等,通信安全性是通信保护措施,要求在通信中采用保密安全性、传输安全性、辐射安全性等措施。
|
Java API Apache
Springboot+shiro,完整教程,带你学会shiro
这篇文章提供了一个完整的Apache Shiro与Spring Boot结合使用的教程,包括Shiro的配置、使用以及在非Web和Web环境中进行身份验证和授权的示例。
865 2
Springboot+shiro,完整教程,带你学会shiro
|
数据可视化 搜索推荐 数据挖掘
协同办公团队任务管理,优质任务可视化工具推荐
本文探讨了任务可视化工具如何提升团队执行力,并详细解析了2024年值得关注的六款软件:板栗看板、Trello、Asana、Monday.com、ClickUp和Wrike。文章介绍了各软件的核心功能、优势及适用场景,旨在帮助不同类型的团队选择最合适的工具,优化协作流程,显著提升团队执行力。
353 0
|
数据库 开发者 Java
颠覆传统开发:Hibernate与Spring Boot的集成,让你的开发效率飞跃式提升!
【8月更文挑战第31天】在 Java 开发中,Spring Boot 和 Hibernate 已成为许多开发者的首选技术栈。Spring Boot 简化了配置和部署过程,而 Hibernate 则是一个强大的 ORM 框架,用于管理数据库交互。将两者结合使用,可以极大提升开发效率并构建高性能的现代 Java 应用。本文将通过代码示例展示如何在 Spring Boot 项目中集成 Hibernate,并实现基本的数据库操作,包括添加依赖、配置数据源、创建实体类和仓库接口,以及在服务层和控制器中处理 HTTP 请求。这种组合不仅简化了配置,还提供了一套强大的工具来快速开发现代 Java 应用程序。
1050 1
|
API Android开发 开发者
Android经典实战之用WindowInsetsControllerCompat方便的显示和隐藏状态栏和导航栏
本文介绍 `WindowInsetsControllerCompat` 类,它是 Android 提供的一种现代化工具,用于处理窗口插入如状态栏和导航栏的显示与隐藏。此类位于 `androidx.core.view` 包中,增强了跨不同 Android 版本的兼容性。主要功能包括控制状态栏与导航栏的显示、设置系统窗口行为及调整样式。通过 Kotlin 代码示例展示了如何初始化并使用此类,以及如何设置系统栏的颜色样式。
972 2
|
JavaScript
Vue.js中使用.self修饰符来限制事件处理程序的作用域
Vue.js中使用.self修饰符来限制事件处理程序的作用域

热门文章

最新文章