CrateDB的目标Singer,使用Meltano SDK构建,基于Meltano PostgreSQL目标。
项目描述
Meltano/Singer 目标针对 CrateDB
关于
A Singer 目标针对 CrateDB,使用 Meltano SDK 构建,用于自定义提取器和加载器,并基于 Meltano PostgreSQL 目标。它将超过 600 个连接器库与 CrateDB 连接,反之亦然。
在 Singer ELT 术语中,"目标" 概念上封装了数据接收器,您可以将数据 "加载" 到其中。
Singer、Meltano 和 PipelineWise 提供了基础组件和集成引擎,用于可组合的开放式 ETL,带有超过 600 个连接器。在数据库集成方面,它们主要基于 SQLAlchemy。
CrateDB
CrateDB 是一个分布式且可扩展的 SQL 数据库,用于存储和分析大量数据,即使在复杂查询的情况下也能接近实时。它与 PostgreSQL 兼容,基于 Apache Lucene。
CrateDB 提供了一个 Python SQLAlchemy 方言,以便将其插入到全面的 Python 数据科学和数据处理生态系统中。
Singer
编写移动数据的脚本的开放式标准。
Singer 是一个开源规范和软件框架,用于在一系列不同的系统之间进行 ETL/ELT 数据交换。对于与 SQL 数据库通信,它使用基于 SQLAlchemy 的元数据子系统。
Singer 读取和写入 Singer 格式的消息,遵循 Singer Spec。实际上,这些是 JSONL 文件。
Meltano
解锁驱动您数据平台的全部数据。
使用 Meltano 的声明式代码优先数据集成引擎,告别编写、维护和扩展自己的 API 集成,将 600 多个 API 和数据库带到桌面上。
Meltano 基于 Singer 技术,使用 YAML 语法配置文件而不是 JSON,增加了改进的 SDK 和其他组件,并运行中央插件注册表,meltano | Hub。
PipelineWise
PipelineWise 是另一个使用 Singer.io 规范进行数据摄入和复制的 Data Pipeline 框架。PipelineWise Taps 的列表包括另外 20 多个高质量的数据源和接收器组件。
SQLAlchemy
SQLAlchemy 是领先的 Python SQL 工具包和对象关系映射器,它为应用程序开发人员提供了 SQL 的全部功能和灵活性。
它提供了一套知名的企业级持久性模式,旨在实现高效和高性能的数据库访问,并适应到简单且 Pythonic 的领域语言。
安装
通常,您不会直接安装此包,而是代表 Meltano 定义,例如。下一节将概述相应的片段。在将其添加到您的 meltano.yml
配置文件后,您可以安装所有定义的组件及其依赖项。
meltano install
用法
您可以使用 target-cratedb
运行 CrateDB Singer 目标,或者使用 Meltano 在管道中运行。
Meltano
使用 meltano add
子命令,您可以添加插件到您的 Meltano 项目。
meltano add loader target-cratedb
注意:只有在发布并在 Meltano Hub 上注册时才会如此工作。在此期间,请手动添加配置片段。
CrateDB 云
为了连接到 CrateDB Cloud,请在您的 meltano.yml
配置文件中配置 sqlalchemy_url
设置,如下所示。
- name: target-cratedb
namespace: cratedb
variant: cratedb
pip_url: meltano-target-cratedb
config:
sqlalchemy_url: "crate://admin:K4IgMXNvQBJM3CiElOiPHuSp6CiXPCiQYhB4I9dLccVHGvvvitPSYr1vTpt4@example.aks1.westeurope.azure.cratedb.net:4200?ssl=true"}
add_record_metadata: true
在本地主机上
为了连接到独立的或本地实例的 CrateDB,请在您的 meltano.yml
配置文件中配置 sqlalchemy_url
设置,如下所示。
- name: target-cratedb
namespace: cratedb
variant: cratedb
pip_url: meltano-target-cratedb
config:
sqlalchemy_url: crate://crate@localhost/
add_record_metadata: true
然后,使用 meltano run
命令调用管道,类似于这样。
meltano run tap-xyz target-cratedb
独立
您还可以使用 target-cratedb
程序独立调用。以下示例演示了如何将文件加载到数据库中。
首先,获取一个示例文件,格式为 Singer,包括世界各国的列表。
wget https://github.com/MeltanoLabs/target-postgres/raw/v0.0.9/target_postgres/tests/data_files/tap_countries.singer
现在,定义包含凭证的 SQLAlchemy 格式的数据库连接字符串。
echo '{"sqlalchemy_url": "crate://crate@localhost/"}' > settings.json
使用 Unix 管道,将数据文件加载到数据库中,并引用配置文件的路径。
cat tap_countries.singer | target-cratedb --config=settings.json
使用交互式终端程序 crash
,您可以在 CrateDB 上运行 SQL 语句。
pip install crash
crash --hosts localhost:4200
现在,您可以验证数据是否已正确加载。
SELECT
"code", "name", "capital", "emoji", "languages[1]"
FROM
"melty"."countries"
ORDER BY
"name"
LIMIT
42;
开发
为了代表真实的管道定义在此适配器方言上工作,请将您的沙箱链接到 meltano-target-cratedb 的开发安装,并将组件的 pip_url
配置为指向 PyPI 上 vanilla 包 的不同位置。
使用此 URL 直接指向特定的 Git 仓库引用。
pip_url: git+https://github.com/crate-workbench/meltano-target-cratedb.git@main
使用类似 pip
的表示法将 CrateDB Singer 目标链接到开发模式,这样您可以在运行管道的同时同时对其进行工作,并迭代其定义。
pip_url: --editable=/path/to/sources/meltano-target-cratedb
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分布
构建分布
meltano-target-cratedb-0.0.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ae7d3a6ece37a38dd39e3ecb45d7d7104d17648ec297195ea9196dc745ab0f1f |
|
MD5 | 5701d71272fdafecdbfc9d7de647994f |
|
BLAKE2b-256 | 29a4bc68a560ecd794b09177eb8b5e4ab3234d09cf5810f9c0394a7a5112d583 |
meltano_target_cratedb-0.0.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ee338d60f8ae30111ba968ab7eb84829bbfd6408646471d1e1ae7c97e7007a20 |
|
MD5 | 88bd793c2cf453527d1c4315e6af0441 |
|
BLAKE2b-256 | 288d58e9fdc80484f832cb429b6a59f4a0e0822438f1e7dded596878f686b459 |