KSQL(融合)VS Hive Kafka SQL(Hortanworks)

时间:2019-01-01 08:20:21

标签: hive apache-kafka hortonworks-data-platform confluent ksql

  

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

Hive Kafka SQL

KSQL

1 个答案:

答案 0 :(得分:1)

安装

KSQL使用Kafka流,并且不依赖Hive,仅依赖Kafka和Zookeeper

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

EcoSystem

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

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

与其他公司的融合合作伙伴,以确保使用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数据结合在一起,但这可能会对性能产生影响。

类似地,您可以采用Hive-Kafka主题,并使用Schema Registry在KSQL中将其转换为Avro,以便与Kafka Connect或NiFi之类的其他工具一起使用,以具有更有效的有线格式(binary-avro与json)。


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

  

此集成与KSQL完全不同。