繁体   English   中英

如何使用气流在cassandra表中插入记录?

[英]How to insert record in cassandra table using airflow?

我已经在 docker 中安装了 Cassandra 和气流。

我想使用气流在 Cassandra 表中插入数据。

就像气流有 MySqlOperator 在 SQL 表中安装数据一样,是否有任何操作符或方法可以将记录插入到 Cassandra 表中。

我只找到了这两个操作符: fromairflow.providers.apache.cassandra.sensors.record import CassandraRecordSensor fromairflow.providers.apache.cassandra.sensors.table import CassandraTableSensor

但是这些操作符只是为了检查表或记录在 cassandra 中的存在。

那么,如何使用气流任务插入或让说与 Cassandra 交互?

文档显示确实没有实现“写入”操作:

https://airflow.apache.org/docs/apache-airflow-providers-apache-cassandra/stable/operators.html

但是如果您没有现成的操作符,Apache Airflow 真的很容易扩展。

如果您了解 Python 方法,则需要扩展 Cassandra Hook 并实现自定义运算符(并可能在您这样做时将其回馈社区)。 这是最好的,因为您将能够使用我猜已经存在的 cassandra 库和身份验证。

或者您可以使用 BashOperator 来运行 CQL 命令(我相信这是 cassandra 使用的默认客户端)。 例如,如果您有 CSV 文件,则可以在 CQL 中使用 COPY 命令导入它。

https://docs.datastax.com/en/cql-oss/3.x/cql/cql_reference/cqlshCopy.html

然后,您必须在来自连接的身份验证信息之间进行一些链接并将其传递给 BashOperator,或者可能提供您自己的方式如何使用 Cassandra 进行身份验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM