钩子
Sqoop
登录后可跨设备保存划线和私人笔记登录
Apache Sqoop 的 Apache Atlas Hook
Sqoop 模型
Sqoop 模型包含以下类型:
实体类型:
sqoop_process
- 超类型:Process(过程)
- 属性:qualifiedName、name、description、owner、inputs、outputs、operation、commandlineOpts、startTime、endTime、userName
sqoop_dbdatastore
- 超类型:DataSet(数据集)
- 属性:qualifiedName、name、description、owner、dbStoreType、storeUse、storeUri、source
枚举类型:
sqoop_operation_type
- 取值:IMPORT、EXPORT、EVAL
sqoop_dbstore_usage
- 取值:TABLE、QUERY、PROCEDURE、OTHER
Sqoop 实体在 Atlas 中通过唯一属性 qualifiedName 进行创建和去重,其取值应按以下格式进行格式化。
sqoop_process.qualifiedName: sqoop <operation> --connect <url> {[--table <tableName>] || [--database <databaseName>]} [--query <storeQuery>]
sqoop_dbdatastore.qualifiedName: <storeType> --url <storeUri> {[--table <tableName>] || [--database <databaseName>]} [--query <storeQuery>] --hive-<operation> --hive-database <databaseName> [--hive-table <tableName>] --hive-cluster <clusterName>Sqoop Hook
Sqoop 新增了 SqoopJobDataPublisher,用于在导入作业完成后向 Atlas 发布数据。目前 SqoopHook 仅支持 hiveImport。它用于按照上文所述的模型向 Atlas 中添加实体。
请按照以下步骤在 Hive 中设置 Atlas hook:
在 Sqoop 中添加以下属性以启用 Atlas hook:
- 通过添加以下内容,在
<sqoop-conf>/sqoop-site.xml 中设置 Atlas hook:
<property>
<name>sqoop.job.data.publish.class</name>
<value>org.apache.atlas.sqoop.hook.SqoopHook</value>
</property>- 解压 apache-atlas-${project.version}-sqoop-hook.tar.gz
- 执行 cd apache-atlas-sqoop-hook-${project.version}
- 将 apache-atlas-sqoop-hook-${project.version}/hook/sqoop 文件夹中的全部内容复制到
<atlas package>/hook/sqoop - 将
<atlas-conf>/atlas-application.properties 复制到 sqoop 的配置目录<sqoop-conf>/ 中 - 在 sqoop 的 lib 目录中为
<atlas package>/hook/sqoop/*.jar 创建链接
atlas-application.properties 中的以下属性用于控制线程池和通知相关的配置:
atlas.hook.sqoop.synchronous=false # whether to run the hook synchronously. false is recommended to avoid delays in Sqoop operation completion. Default: false
atlas.hook.sqoop.numRetries=3 # number of retries for notification failure. Default: 3
atlas.hook.sqoop.queueSize=10000 # queue size for the threadpool. Default: 10000
atlas.cluster.name=primary # clusterName to use in qualifiedName of entities. Default: primary
atlas.kafka.zookeeper.connect= # Zookeeper connect URL for Kafka. Example: localhost:2181
atlas.kafka.zookeeper.connection.timeout.ms=30000 # Zookeeper connection timeout. Default: 30000
atlas.kafka.zookeeper.session.timeout.ms=60000 # Zookeeper session timeout. Default: 60000
atlas.kafka.zookeeper.sync.time.ms=20 # Zookeeper sync time. Default: 20Kafka 通知生产者的其他配置可以通过在配置名称前加上 "atlas.kafka." 前缀来指定。有关 Kafka 生产者支持的配置列表,请参阅 Kafka Producer Configs
注意事项
目前 sqoop hook 仅采集以下 sqoop 操作
- hiveImport
评论
登录后参与评论
正在加载评论…
KnowForge