hive - KSQL(汇合)VS Hive Kafka SQL(Hortanworks)
解决方案
安装
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 非常不同。
- 这里的主要用例是允许用户针对任何 Kafka 主题实际释放完整的 SQL 查询用例。 https://github.com/apache/hive/tree/master/kafka-handler#query-table
- 您可以使用它自动将数据移入和移出 Kafka。 https://github.com/apache/hive/tree/master/kafka-handler#query-table
- 将 Kafka 流作为整个数据仓库的一部分进行查询,例如 ORC/Parquet 表、Druid 表、HDFS、S3 等。
推荐阅读
- python - 如果连续在熊猫中看不到值 SpaceX,如何删除熊猫中的一列?
- laravel - laravel pdf 使用 (Barryvdh\DomPDF) 查看添加水印
- c - 如何在 C 中为多个等待线程解锁未命名的信号量?
- java - 是否有任何优化方法来创建页面对象?
- typescript - 有没有办法为非核心材料 UI 组件添加主题?
- twitter - 处理 Twitter API 数据以获取特定信息
- javascript - 如何在 Object 中创建自执行匿名函数?
- javascript - 处理未定义的 JavaScript api 响应属性“0”
- reactjs - 在 React 中处理身份验证持久性(使用 Redux 和 Firebase)
- flutter - 在flutter中使用bloc将数据发送到firestore和firestorage