Hey guys,I am planning to do POC on pinot for the ...
# random
a
Hey guys,I am planning to do POC on pinot for the real time analytics over kafka wanted to understand does it support joins to multiple kafka topics and how efficient over flink at this time
❤️ 1
w
Pinot by itself does not handle handle joining Kafka streams at ingestion time. It does support defining a dimension table, and using a
lookup
UDF to do star-schema style dimension lookups. It cannot do standard SQL-style
JOIN
operations between multiple tables, but PrestoDB can use Pinot as a back-end to accomplish full ANSI-SQL joins: https://eng.uber.com/engineering-sql-support-on-apache-pinot/
❤️ 1
Also, you probably will be better off asking questions like this in #general, as this #random channel is intended more for non-technical discussion.
if your use case requires Stream -> Stream joins on unbounded inputs (e.g., two infinite Kafka streams), IMO, you would be better off doing that work in Spark, Flink, or Kafka Streams, where you have better control over the time window for data retention as well as the logic for the join and any subsequent transformations or projections of the join result, and then ingesting the output into Pinot for query-time analysis. I’m not affiliated with the Pinot project, so take my opinion with a whole handful of salt - people much smarter than I am might have some better solutions for you 🙂
k
@Will Briggs is right!
s
@Ashwini Kumar another possible solution is to use samza before ingesting to pinot
👍 2
w
Sorry @Subbu Subramaniam! I like Samza, I swear! I've never used it in a production use case so I always forget to suggest it :(
s
no issues. At Linkedin, many use cases use samza to process data first before ingesting to Pinot