Teradata QueryGrid和Azure HDInsight

将Teradata的QueryGrid连接到Azure HDInsight

Rupal Shah
Rupal Shah
2021年11月18日 4 min read
许多Teradata客户都有兴趣将Teradata Vantage与Microsoft Azure第一方服务集成。本入门指南将帮助您将Teradata QueryGrid连接到Azure HDInsight服务。

尽管这种方法已经在内部实施和测试,但它是按现状情况提供的。Teradata QueryGrid可以支持Azure HDInsight,强烈建议与Teradata合作以确定最佳配置和体系结构。本文方法不能取代官方产品文档。

我们鼓励您提供反馈。我们希望了解您认为有用的内容以及我们如何改进本指南。请将您的反馈发送到rupal.shah@teradata.com

免责声明:本指南包括Microsoft和Teradata产品文档中的内容。

概述

本文介绍了将Teradata QueryGrid连接到HDInsight(Hadoop)群集并从Azure上的Teradata Vantage进行查询的最少步骤。它将强调在Azure、Teradata Viewpoint、Teradata QueryGridAzure HDInsight上的Teradata(DIY)的部署要求。我们将使用Teradata Viewpoint来配置这些服务,以便在平台之间无缝连接。最后,我们将创建一个外部服务器连接,并利用QueryGrid结构执行从Vantage到HDInsight集群的SQL。

这是工作流程图。
Screen-Shot-2021-11-18-at-10-49-14-AM.png

关于Azure HDInsight

Azure HDInsight是微软的一项大数据服务,它将100%的Apache Hadoop和其他流行的大数据解决方案引入云中。基于云的现代数据平台,可管理任何类型的数据。无论你的数据是结构化的还是非结构化的,以及任何大小的数据,HDInsight都能让你获得大数据的全部价值。

借助HDInsight,您可以通过微软的现代数据平台无缝处理所有类型的数据。我们的平台提供简单、易管理的开放式企业级大数据解决方案。HDInsight提供了一个满足您所有大数据需求的平台,包括批处理、交互式、无SQL和流式处理。它还具有强大的工具和开发人员环境生态系统。

支持的集群类型包括:Hadoop(Hive)、HBase、Storm、Spark、Kafka、Interactive Hive (LLAP) 和 ML Services。

有关详细信息,请参阅文档

关于天Teradata Vantage

Vantage是普适数据智能的平台;为组织所有部门的用户和系统提供实时智能答案。它利用100%的企业数据,无论其规模、数量或复杂性如何。在Azure上运行Teradata数据库软件类似于在现场数据中心运行Teradata数据库。Vantage将描述性、预测性、规范性分析、自主决策、机器学习功能和可视化工具整合到一个统一的集成平台中,无论数据位于何处,都可以大规模发现实时商业智能。
Vantage使公司能够从小型开始并弹性扩展计算或存储,只需为他们使用的内容付费,利用低成本对象存储并集成其分析工作负载。
Vantage支持R、Python、Teradata Studio和任何其他基于SQL的工具。您可以跨公有云、本地、优化或商用基础设施或即服务部署Vantage。
有关详细信息,请参阅文档

关于Teradata QueryGrid

Teradata QueryGrid 2.x是一种数据分析结构,可提供跨一个或多个数据源的无缝、高性能数据访问、处理和移动。Teradata QueryGrid 支持以下连接器:
  • Teradata数据库
  • Hive
  • Spark SQL
  • Oracle(仅作为目标连接器)
  • Starburst Enterprise Presto
有关详细信息,请参阅文档

先决条件

您需要熟悉Teradata Vantage、Teradata QueryGrid和Azure HDInsight。
您将需要以下帐户和系统:
  • Azure实例(版本16.20)或更高版本上的Teradata Vantage(DIY)。

程序

满足先决条件后,请按照下列步骤操作:
  1. 要求
  2. 在Azure上使用Teradata Viewpoint和Teradata QueryGrid管理器部署Teradata(DIY)
  3. 为Azure HDInsight群集创建子网
  4. 创建Azure HDInsight群集
  5. 创建公共IP地址和入站端口
  6. 配置Teradata QueryGrid管理器
  7. 配置Teradata Viewpoint
  8. 在Viewpoint QueryGrid Portlet中配置查询网格
  9. 配置和使用QueryGrid连接器
  10. 将数据加载到HDInsight
  11. 从Vantage查询HDInsight数据
  12. 清理
注意:捕获所有用户名、密码、私有和公共IP地址供以后使用。

第1步: 要求
在部署Teradata生态系统之前,Azure订阅必须具有在订阅级别分配有“参与者”角色的足够级别的权限,以及足够的配额限制。
  1. 登录到Azure门户,单击订阅图标进行快速检查。否则,请在左窗格中单击成本管理 + 计费 > 成本管理 > Azure订阅
Screen-Shot-2021-11-18-at-10-52-05-AM.png有关详细信息,请参阅Azure文档中心并搜索Contributor角色的Azure订阅。
  1. 接下来,检查订阅是否具有足够的配额限制(建议:128个内核)。在订阅页上,单击使用情况+配额,筛选选择提供程序(例如:微软计算)和所有位置(例如:部署区域)。如果未显示任何内容, 请将仅显示已使用的项目更改为全部显示
Screen-Shot-2021-11-18-at-10-52-53-AM.png
  1. 如果配额限制不足,请单击请求增加,单击配额类型,然后选择“计算虚拟机(核心vCPU)订阅限制增加”,然后按照说明提交请求。
有关详细信息,请参阅此链接,了解有关请求核心配额增加以及Azure订阅和服务限制、配额和约束的说明,请阅读以下内容

第2步:在Azure上部署Teradata(DIY)

解决方案模板允许您同时部署多个Teradata产品。部署时,可以创建新的资源组,也可以使用包含VNet、VM、存储帐户、网络安全组等的现有空资源组。
  1. 在门户中,单击位于左上角的Screen-Shot-2021-11-18-at-10-54-15-AM.png创建资源标志,然后搜索Teradata。Teradata产品列表将显示在结果栏下。
  2. 选择Teradata Vantage(DIY)解决方案模板,然后单击创建
  3. 配置基本边栏选项卡设置——输入新的资源组,单击新建,选择区域,输入VM的密码, 然后单击下一步
  4. 配置数据库边栏选项卡设置——输入DBC密码,选择数据库层:企业节点数:2,然后单击下一步
  5. 配置Viewpoint边栏选项卡设置——选择并输入密码Viewpoint映像版本:多个系统,然后单击下一步QueryGrid管理器边栏选项卡
  6. 配置QueryGrid管理器边栏选项卡设置——选择,然后单击下一步常规设置( 边栏选项卡11)
  7. 配置常规设置——选择默认值,然后单击下一步
  8. 查看+创建边栏选项卡中,单击验证后创建
部署过程可能需要40到60分钟之间的任何时间,具体取决于您的配置和区域中资源的可用性。

注意:与Teradata Vantage(DIY)开发人员层不同,企业层软件不是免费的,并且存在用于VM、虚拟网络和存储成本的Azure基础结构。

有关详细信息,请参阅《Teradata Vantage™ on Azure(DIY)安装和管理指南》。

第3步:为Azure HDInsight群集创建子网

在部署HDInsight之前,我们需要在Teradata生态系统虚拟网络中为HDInsight群集创建一个子网。
  1. 在门户中,打开Teradata资源组或单击转到资源组
  2. 单击vnet-teradata子网 ,然后单击+子网并添加子网名称(例如HDISubnet),将选项保留为默认值,然后单击确定
Screen-Shot-2021-11-18-at-10-55-41-AM.png
3. 刷新子网以查看新添加的HDISubnet

第4步:创建Azure HDInsight群集

接下来,创建具有2个头节点和2个工作节点的HDInsight(Hadoop)群集。
  1. 在门户中,单击Screen-Shot-2021-11-18-at-10-54-15-AM-(1).png创建资源标志并搜索HDInsight
  2. 选择Azure HDInsight解决方案模板,然后单击创建
  3. 配置基本信息边栏选项卡设置——输入新的资源组,单击新建,输入群集名称,选择区域(与Teradata部署相同),选择群集类型版本(例如,Hadoop2.7.3/HDI 3.6),然后输入群集登录密码,然后单击下一步:存储
Screen-Shot-2021-11-18-at-10-55-41-AM-(1).png注意:检查Teradata® QueryGrid™ 组件和连接器兼容性矩阵了解HDInsight版本支持详细信息。

4.配置存储边栏选项卡设置——选择主存储帐户选择(新建)<HDI 群集名称> 并将其他属性保留为默认值(空白),然后单击下一步:安全+网络
Screen-Shot-2021-11-18-at-10-57-50-AM.png
5. 配置安全性+网络边栏选项卡设置——选择虚拟网络vnet-teradata和在步骤3中创建的子网(例如HDISubnet),然后单击下一步:配置+定价
Screen-Shot-2021-11-18-at-10-58-25-AM.png
6.设置配置+定价边栏选项卡设置——将本文的辅助角色节点数4更改为2,然后单击查看+创建

Screen-Shot-2021-11-18-at-10-59-04-AM.png
7. 验证通过后单击创建预计部署需要15-20分钟。

第5步:创建公共IP地址和入站端口

要使外部客户端能够访问Teradata数据库和VM,需要创建NIC接口的公共IP地址,并为端口1025创建入站安全规则。默认情况下,Azure和Teradata产品(Teradata视点和Teradata QueryGrid管理器)上的Teradata不使用公共IP地址或入站端口进行部署以访问数据库。

创建公共IP地址
  1. 在门户中,打开Azure上的Teradata资源组,然后单击NIC接口:database-nic00
  2. 单击IP配置,然后单击IP名称
    1. 公共IP地址设置为"关联"
    2. 选择公共IP地址下拉列表下,单击新建
    3. 添加公共IP地址提示中,输入名称并将分配更改为静态
    4. 单击确定保存
Screen-Shot-2021-11-18-at-11-00-26-AM.png
Screen-Shot-2021-11-18-at-11-02-24-AM.png
4. 刷新入站安全规则以查看新的端口条目

第6步:配置Teradata QueryGrid管理器

部署QueryGrid管理器VM后,需要登录到VM以添加用户,并为Viewpoint帐户设置密码以访问QueryGrid管理器VM。你将需要在部署期间创建的QueryGrid管理器VM用户名和密码。
  1. 使用PuTTY和在上一步中创建的公共IP地址登录到查询网格管理器VM。
  2. 切换到根用户环境。
> sudo su -
  1. 将用户tdqgm添加到查询网格管理器用户组以防止权限错误。
# sudo usermod -A tdqgm azureuser
  1. 设置默认视点密码
# /opt/teradata/tdqgm/bin/reset-password.sh
有关详细信息,请参阅《Teradata Vantage™ on Azure (DIY) 安装和管理指南》。

第7步:配置 Teradata 视点

在配置QueryGrid之前,我们首先需要将Teradata和QueryGrid管理器系统添加到Viewpoint监控系统portlet中。
  1. 在浏览器中,使用在第4步中为Viewpoint VM创建的公共IP地址打开视点门户登录屏幕。
注意:忽略您的连接不是私人消息,然后单击高级,然后单击继续到链接
  1. 以VM部署期间创建的管理员密码身份登录到视点门户。
  2. 单击管理portlet(齿轮图标),然后单击受监控的系统portlet。
Screen-Shot-2021-11-18-at-11-03-53-AM.png
有关详细信息,请参阅《Teradata Vantage™ on Azure (DIY) 安装和管理指南》

e. 在受监控系统portlet中添加查询网格管理器:首先,安装查询网格根证书
  1. 单击选择 Portlet下拉列表
  2. 单击证书。
  3. 从“设置”列表中,单击证书颁发机构。
  4. 单击安装证书
  5. 键入证书的别名(例如证书),最多30个字符。
  6. 选择受信任的SSL服务选项
  7. 键入Teradata QueryGrid管理器实例的主机名私有IP地址(例如10.0.0.9)
  8. 键入9443作为端口号。
  9. 单击安装
Screen-Shot-2021-11-18-at-11-17-48-AM.png
接下来,在受监控的系统Portlet中添加查询网格管理器
  1. 单击选择Portlet下拉列表
  2. 单击受监控的系统。
  3. 单击系统旁边的+,然后选择添加QueryGrid。
  4. 常规系统详细信息下,输入系统昵称(例如QGM),最多8个字符。
  5. 选中启用系统复选框。
  6. 输入Teradata查询网格管理器的主机ID的专用IP地址
  7. 登录下,输入视点的登录信息在第6步中执行的重置密码,以使Viewpoint能够访问QueryGrid管理器。
  8. 单击应用关闭管理Portlet
Screen-Shot-2021-11-18-at-11-18-19-AM.png有关详细信息,请参阅《Teradata® QueryGrid™ 安装和用户指南 》。

第8步:在Viewpoint QueryGrid Portlet中配置QueryGrid

在本节中,我们将向视点添加QueryGrid Portlet,并将QueryGrid配置为访问HDInsight群集。这将包括添加数据中心、Teradata数据源系统和HDInsight群集,以及向每个数据源系统添加适当的Teradata和HDInsight节点以及QueryGrid软件。接下来,定义结构并添加用于Teradata和HDInsight的连接器。最后,创建一个链接以定义Teradata(作为起始源)和HDInsight(作为目标)。

注意:本文将使用解决方案模板中部署的QueryGrid软件版本。我们不会涵盖上传最新版本。
  1. 将QueryGrid Portlet添加到视点门户
  1. 在门户中,单击添加内容。
  2. 找到并单击QueryGrid portlet。
  3. 单击添加。
Screen-Shot-2021-11-18-at-11-19-14-AM.pngb. 查看数据中心
  1. 结构组件下,选择数据中心。
  2. (可选)单击QueryGrid管理器部署期间创建的默认数据中心编辑以进行重命名,然后单击保存
Screen-Shot-2021-11-18-at-11-20-51-AM.pngc. 添加数据源系统
  1. 结构组件下,选择系统。
  2. 单击系统旁边的+。
  3. 添加系统中,输入Teradata数据源系统的系统名称(例如:TD)
  4. 选择数据中心
  5. 选择从解决方案模板部署的节点软件版本
  6. 资源分配,将每个节点的最大内存设置为1GB
  7. 点击保存
  8. 重复上述步骤以添加具有相同属性的HDInsight数据源系统(例如:HDI)
d. 向系统添加节点

您需要将节点的专用IP地址添加到在上一步中创建的相应数据源系统中。Teradata节点到TD数据源系统,HDInsight (Hadoop)节点(头节点和辅助角色节点)到HDI数据源系统。这将使tdqg节点包能够在所有节点上自动安装。
  1. 结构组件下,选择系统。
  2. 选择要向其添加节点的数据源系统 。(例如:TD)
  3. 节点选项卡上,单击节点旁边的+。
Screen-Shot-2021-11-18-at-11-21-49-AM.png
Screen-Shot-2021-11-18-at-11-23-46-AM.pngScreen-Shot-2021-11-18-at-11-24-20-AM.png
Screen-Shot-2021-11-18-at-1-10-07-PM.pngScreen-Shot-2021-11-18-at-1-12-14-PM.pngScreen-Shot-2021-11-18-at-1-12-45-PM.pngScreen-Shot-2021-11-18-at-1-13-25-PM.pngScreen-Shot-2021-11-18-at-1-13-54-PM.png有关详细信息,请参阅《Teradata® QueryGrid™ 安装和用户指南 》

第9步:配置和使用连接器

对于本文和简单演示,请使用任何Teradata客户端工具创建授权对象、授予权限并创建与我们的HDInsight群集的外部服务器连接。
  1. 以管理员身份(如dbc)登录到正在启动的Teradata数据库系统,并为目标服务器创建授权对象,例如:

创建授权td_server_db。蜂巢服务作为定义者受信任的用户‘蜂巢’密码‘蜂巢’;
td_server_db数据库中创建授权对象。使用DEFINER子句使授权全局可供所有用户使用。
  1. 将“创建服务器”和“执行函数”权限授予管理员用户对td_server_db数据库的权限,例如:

授予创建服务器td_server_db到dbc;
授予执行函数TD_SYSFNLIB到dbc;
  1. 创建与HDInsight(Hadoop)群集的外部服务器连接

创建外部服务器target_server_name
外部安全性定义者受信任的target_server_auth

链接(‘linkname’
版本 (‘版本’
使用TD_SYSFNLIB进行导入。QGInitiatorImport,
使用TD_SYSFNLIB导出。QGInitiatorExport;

例如,其中Teradata数据库是启动系统,HDInsight群集是使用名为TD2HDI的QueryGrid Link定义的目标/远程系统。

创建外部服务器远程hdi
外部安全性定义者受信任的配置单元服务

LINK(‘TD2HDI’
版本(“活动”)
使用TD_SYSFNLIB进行导入。QGInitiatorImport,
使用TD_SYSFNLIB导出。QGInitiatorExport;

有关详细信息,请参阅《Teradata® QueryGrid™ 安装和用户指南 》

第10步:将数据加载到HDInsight

在查询HDInsight(Hadoop)集群之前,我们需要创建一个表和一些数据。
  1. 在门户中,打开HDInsight资源组,然后单击“公共Ipheadnode-”以获取HDI headnode0 VM的公共IP地址。
  2. 使用腻子以sshuser和密码身份登录
  3. 更改为root用户:sudo su –
  4. 在提示符下,使用Beeline(Hive server2 命令行界面),键入:
beeline -u "jdbc:hive2://<headnode0 private IP address>:10001/default;transportMode=http"
  1. 创建表 t_test(id int);
  2. 插入到t_test值(100);
  3. 插入到t_test值(101);

第11步:从Vantage查询HDInsight数据

最后,使用任何Teradata客户端工具查询HDInsight数据。
  1. 使用公共IP地址以dbc身份登录到正在启动的Teradata数据库系统
  2. 插入和选择来自HDInsight的数据
    1. 插入到t_test@remotehdi值(1);
    2. 从t_test@remotehdi中选择 *;
Screen-Shot-2021-11-18-at-1-15-05-PM.png
3. 联接来自HDInsight和Vantage的数据
  1. create table td_server_db.localtbl (c1 int)
  2. 插入到 td_server_db.localtbl 值 (200)
  3. 插入到 td_server_db.localtbl 值 (201)
  4. 插入到 td_server_db.localtbl 值 (2)
  5. 从t_test@remotehdi中选择 * 全部从 td_server_db.localtbl 中选择 *
Screen-Shot-2021-11-18-at-1-16-02-PM.png
4. 创建视图
  1. 创建视图 td_server_db.t_test_v 作为从t_test@remotehdi中选择 *;
  2. 从 td_server_db.t_test_v 中选择 *;
用户甚至不知道他们正在访问外部服务器

5. 显示外部服务器——允许您查看包含关联表运算符用于连接到外部服务器的名称值对的服务器对象定义显示外部服务器远程hdi

6. 删除外部服务器——除了从字典表中删除服务器对象及其相关信息外,还会删除关联表运算符上的所有从属条目。丢弃外部服务器TD_SERVER_DB.remotehdi;

第12步:清理

若要避免使用的资源向Azure订阅产生费用,请按照以下步骤操作。
删除资源组
  1. 在Azure门户中登录,单击左窗格中的资源组
  2. 单击资源组,然后单击删除菜单中的资源组
  3. 删除资源组窗格中,键入资源组名称以验证删除。
  4. 点击删除
  5. 重复此步骤以删除其他资源组

关于我们 Rupal Shah

Rupal Shah is a member of Teradata Partners Technical Consultant team. Prior to consulting on the Microsoft partnership, he was a technical consultant for the IBM Cognos and Oracle Hyperion partnerships. Along with his extensive experience working with business intelligence and ‘in-database’ solutions, Rupal has worked with various Teradata application organizations for whom he provided database consulting. He received his B.A. in Math and Computer Science from the University of California at San Diego, and he is currently based in San Diego. 查看所有帖子 Rupal Shah

随时了解情况

订阅 Teradata 的博客,获取每周向您提供的见解



我同意作为本网站提供商的Teradata天睿公司可能偶尔向我发送Teradata市场沟通电子邮件,其中包含有关产品、数据分析、活动和网络研讨会邀请的信息。我了解我可以随时通过点击我收到的任何电子邮件底部的取消订阅链接取消订阅。

您的隐私很重要。您的个人信息将根据Teradata全球隐私政策收集、存储和处理,您可以通过单击此隐私链接阅读和打印。

从 Teradata 查看更多信息