首页 > 解决方案 > KSQL(汇合)VS Hive Kafka SQL(Hortanworks)

问题描述

有什么区别?哪一个更好 ?什么时候使用?

蜂巢卡夫卡 SQL

KSQL

标签: hiveapache-kafkahortonworks-data-platformconfluent-platformksqldb

解决方案


安装

KSQL使用Kafka Streams,不依赖Hive,只依赖Kafka和Zookeeper

Hive-Kakfa 需要 Kafka、HiveServer 和 RDBMS(MySQL、Postgres 等)。

生态系统

对于外部集成,Hive-Kafka 不提供 Confluent Avro Schema Registry 集成。不过,它可能(最终?)提供 Hortonworks Schema Registry 集成。

Hortonwork 围绕 NiFi、Spark、Kafka、SMM、Atlas、Ranger、Hive-Streaming 等的工具套件可能都经过了很好的测试。

Confluent 与其他公司合作,以确保与 Kafka 及其平台以外的其他工具进行适当的集成。

界面

AFAIK,Hive-Kafka 只是一个查询引擎,它不会像 KSQL 那样创建/维护 KStreams/KTable 实例,并且总是需要扫描 Kafka 主题。它也没有用于提交查询的本机 REST 接口,因此外部访问的唯一选择是 JDBC/ODBC。

对于 UI,Hive 可以很好地与 HUE 或 Ambari Views 配合使用,它们都是开源的,但 KSQL 主要只有 Confluent Control Center,这是一个付费解决方案。



“更好”是一种观点,但如果您已经拥有 Hive,我认为没有理由不使用 Hive-Kafka。

IMO,KSQL 可以通过将新主题定义为表和流,以及将 Confleunt 的 Avro 格式转换/过滤为 Hive-Kafka 可以本机理解的 JSON 来补充 Hive-Kafka 从那里您可以将现有的 Hive 数据(HDFS、S3、HBase 等)与 Hive-Kafka 数据相结合,但是这可能会对性能产生影响。

同样,您可以使用 Schema Registry 将 Hive-Kafka 主题转换为 KSQL 中的 Avro,以便与 Kafka Connect 或 NiFi 等其他工具一起使用,以获得更高效的有线格式(binary-avro vs. json)。


FWIW,请查看您的第一个链接的评论部分

这种集成与 KSQL 非常不同。


推荐阅读