【CDGC】Apache Hive的扫描
我今年参加“圣诞降临日历”活动!所以,这篇文章是作为“信息学圣诞降临日历2023年12月12日”的一篇文章写的。
首先
这篇文章是关于如何使用Informatica提供的CDGC(数据治理与目录)来扫描Hive的指南。由于我们在私有账户上创建了EMR,所以请谅解我们没有进行配置文件,希望您能原谅并允许我们仅对元数据进行扫描。
※该信息基于2023年12月的数据。
事前准备 (Shì
请确认CDGC已经设置好,并可以访问元数据命令中心的菜单,以及许可证、用户角色和用户的身份。如果需要详细信息,请查阅我们的知识库。
在使用CDGC扫描资源时,通常需要事先创建连接。Hive也是如此,但对于Hive,根据连接目标Hadoop的发行商不同,可能需要不同的库,因此需要在SA上预先准备这些库。有关详细信息,请参考Informatica® Cloud Data Integration Hive连接器,按照其中的步骤,从安装库开始操作。
根据连接的分发版本执行适当的脚本。
这里是手册中的步骤1。在Linux系统上运行脚本的操作对应于这一步。首先,登录到安装Secure Agent的主机上,按照上述文档的说明,转到脚本文件夹。
cd <Secure Agent installation directory>/downloads/package-hiveadapter.<version>/package/hive/thirdparty/informatica.hiveadapter/scripts
在 script 文件夹中运行 downloadHiveLibs.sh 脚本,将显示 CDI 和高级模式的选择项。在这里,请选择 1) CDI。
$ sh downloadHiveLibs.sh
============================================================
Informatica Hive TPLs Script
============================================================
Please select a product for which you would like to execute this script.
1) CDI
2) CDI Advanced Mode
Enter the option you wish to select: 1
请选择与所访问的Hadoop分布相对应的选项。由于本次使用EMR,因此选择3) EMR_5.20。
User selected product is : CDI
============================================================
Please select a distro corresponding to your hadoop cluster.
1) CDH_6.1
2) HDP_3.1
3) EMR_5.20
4) HDInsight_4.0
Enter the option you wish to select: 3
User selected distro is : EMR_5.20
Distro related properties file being consumed is : EMR_5.20_CDI.txt
============================================================
Are you executing this script on machine where Informatica Cloud Secure Agent is installed ? [y/N]y
============================================================
Please enter Informatica Cloud Secure Agent root directory:
选择发行版后,会询问是否安装 Secure Agent,输入 Y。然后会要求输入安装的根文件夹,请指定该文件夹。在这个环境中,我们输入了 /home/infauser/infaagent,但可以确认下面的代码正在使用 wget 获取库文件。
Please enter Informatica Cloud Secure Agent root directory: /home/infauser/infaagent
User provided IICS_ROOT_DIR is: /home/infauser/infaagent
DEPLOY_TO_MAIN_DIR value is: /home/infauser/infaagent/apps/Data_Integration_Server/ext/deploy_to_main/distros/Parsers/EMR_5.20/lib
Created directory /home/infauser/infaagent/apps/Data_Integration_Server/ext/deploy_to_main/distros/Parsers/EMR_5.20/lib successfully !!
============================================================
Distro related properties file being consumed is : EMR_5.20_CDI.txt
--2023-12-06 11:15:01-- https://repo1.maven.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
repo1.maven.org (repo1.maven.org) をDNSに問いあわせています... 199.232.192.209, 199.232.196.209, 2a04:4e42:4d::209, ...
repo1.maven.org (repo1.maven.org)|199.232.192.209|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 284220 (278K) [application/java-archive]
`infa_tmp/commons-lang-2.6.jar' に保存中
commons-lang-2.6.jar 100%[==========================================================================================================>] 277.56K 430KB/s 時間 0.6s
: 中略
aws-java-sdk-dynamodb-1.11.665.jar 100%[==========================================================================================================>] 1.60M 1.45MB/s 時間 1.1s
2023-12-06 11:16:04 (1.45 MB/s) - `infa_tmp/aws-java-sdk-dynamodb-1.11.665.jar' へ保存完了 [1683239/1683239]
Copied CDI TPL's to /home/infauser/infaagent/apps/Data_Integration_Server/ext/deploy_to_main/distros/Parsers/EMR_5.20/lib sucessfully !
============================================================
Completed script execution successfully !!
Please set the INFA_HADOOP_DISTRO_NAME DTM Property:
For CDH_6.1/CDP_7.1/CDW_7.2 set the value as CDH_6.1
For EMR_5.20/EMR_6.1/EMR_6.2/EMR_6.3 set the value as EMR_5.20
For HDInsight_4.0 set the value as HDInsight_4.0
For HDP_3.1 (CDI only) set the value as HDP_3.1
For more details please refer to the Informatica Hive Connector Guide.
============================================================
2. 在Secure Agent旁边设置自定义属性。
这里是关于手册中的第2步:设置数据集成服务中自定义属性部分的操作。在IDMC的”管理员”界面中,选择进行本次设置的Secure Agent,点击右侧的”…”图标,再点击”编辑Secure Agent”。
在下一个页面上设置自定义属性。
由于采用了EMR_5.20版本配置,因此在INFA_HADOOP_DISTRO_NAME中指定了EMR_5.20。如果您使用其他发行版,请输入相应信息。保存配置后,请重新启动Secure Agent,并继续下一步操作。
cd <インストールディレクトリ>/infaagent/apps/agentcore
sh infaagent.sh shutdown
sh infaagent.sh startup
3. 在 AWS VPC 中进行排除设置以排除 CDGC 使用的 IP。
在像 AWS、Azure、GCP 这样的云平台中,设置 IP 的入站和出站规则已经成为常态。如果 Hadoop 的分布式系统正是来自云供应商,那么我们需要根据各供应商的网络安全指南,对与核心服务和 CDGC 相关的 IP 进行排除设置。
创建Hive连接
如果你已经完成上述步骤,准备工作只剩下一点了。请返回到IDMC的”管理员”界面,选择Hive Connector(Informatica)的连接类型。大致上,我认为你应该没有对设置项目有任何疑问,但是可能会有一个你不熟悉的地方,那就是”配置文件路径”。
需要指定位于SA上的路径,其中放置了从EMR环境获取的core-site.xml、hdfs-site.xml和hive-site.xml。
扫描设置
这次的准备工作还是挺多的呢,让大家久等了。那么,我们马上来设置 Hive 的扫描吧。
从菜单中启动”元数据命令中心”。
请从菜单中选择“元数据命令中心”。
从元数据命令中心选择“新建”
从目录源中选择”Apache Hive”。
在目录源中选择列表中的”Apache Hive”。
选择连接Apache Hive。
应该显示了到Apache Hive的连接列表,请选择并点击“下一步”。
设定 “元数据的提取”
在“元数据提取”选项卡中,选择要从运行时环境中使用的安全代理。根据需要,使用筛选器进行筛选,然后点击“保存”。
6. 通过”执行”来开始扫描。
除了其他设置项目外,由于本文的焦点已经设置完毕,所以请点击“执行”按钮,进行扫描操作。
7. 设置执行范围
在首次执行时,在执行范围屏幕上,“元数据提取”处于灰色不可选择状态。在第二次及以后的执行中,我认为可以选择如下状态,“删除”选择为指定。
由于这个检查项较为复杂,我会简单进行补充说明。这个设置决定了当已经被包含在目录中的资源在源系统中被删除时如何处理。对于每个设置,将会有以下行为。
选项:动作
保留:即使从目录源中删除了对象或者过滤条件更改导致对象不再匹配,之前在目录中存在的更改前的资产将会保留在目录中。
删除:如果从目录源中删除了对象或者过滤条件更改导致对象不再匹配,元数据将会从目录中删除。
也就是说,如果希望保留曾经作为资产存在过的对象,需要将设置为”保留”,但是如果想提取和搜索数据库最新状态下根据过滤条件匹配的资产,则需要将设置为”删除”。
8. 通过工作监视界面查看结果
因为自动切换到作业监视画面,所以请稍等一会儿,确认状态已完成。
确认结果
EMR Hive 中的表定义已经成功确认,是吗?
本文到此为止。虽然还早一些,但圣诞快乐!?
文献资料
- マニュアル : Apache Hive Sources (ログインが必要)
免责声明
我在Qiita上发布的所有文章都只基于我个人的理解或观点。这意味着这些文章并不代表我所属或曾经所属公司的官方观点。