Apache Hive
Presto
Our great sponsors
Apache Hive | Presto | |
---|---|---|
14 | 14 | |
5,314 | 15,562 | |
1.0% | 0.7% | |
9.7 | 9.9 | |
7 days ago | 6 days ago | |
Java | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Apache Hive
-
Apache Iceberg as storage for on-premise data store (cluster)
Trino or Hive for SQL querying. Get Trino/Hive to talk to Nessie.
-
In One Minute : Hadoop
Hive, A data warehouse infrastructure that provides data summarization and ad hoc querying.
-
DeWitt Clause, or Can You Benchmark %DATABASE% and Get Away With It
Apache Drill, Druid, Flink, Hive, Kafka, Spark
-
Apache Spark, Hive, and Spring Boot — Testing Guide
In this article, I'm showing you how to create a Spring Boot app that loads data from Apache Hive via Apache Spark to the Aerospike Database. More than that, I'm giving you a recipe for writing integration tests for such scenarios that can be run either locally or during the CI pipeline execution. The code examples are taken from this repository.
- Apache Hive in the vein!
-
Jinja2 not formatting my text correctly. Any advice?
ListItem(name='Apache Hive', website='https://hive.apache.org/', category='Interactive Query', short_description='Apache Hive is a data warehouse software project built on top of Apache Hadoop for providing data query and analysis. Hive gives an SQL-like interface to query data stored in various databases and file systems that integrate with Hadoop.'),
-
Understanding SQL Dialects
Apache Hive takes in a specific SQL dialect and converts it to map-reduce.
-
The Data Engineer Roadmap 🗺
Apache Hive
-
Open Source SQL Parsers
Apache Calcite is a popular parser/optimizer that is used in popular databases and query engines like Apache Hive, BlazingSQL and many others.
-
Word-Aligned Bloom Filters
> whether this would really work out in most workloads
> just because it keeps the cache-lines hotter and less likely to be evicted.
Okay, so keeping cache for a bloom filter problem is real - but the real force evicting memory out of the cache line is the next row-group you read + all the other stuff you have to do when you implement this in a database product.
So the two things I work with, Apache Hive and Apache Impala switched to a blocked bloom filter at different points in time.
Hive BloomKFilter - https://github.com/apache/hive/blob/master/storage-api/src/j...
Impala/Kudu one - https://github.com/apache/impala/blob/master/be/src/kudu/uti...
The C++ one also has an AVX specialization, while the Java one relies on the JVM to do it (not always) - https://github.com/apache/impala/blob/master/be/src/kudu/uti...
We ran a lot of trivial benchmarks and several benchmarks where the shuffle-join (not sort-merge, this is just a partitioned hash join) generates a bloom filter (a semijoin) before sending rows out and the 1-cache line version won out when the bloom filter went slightly over the 1 Million + 5% rate [1].
The regular bloom filter went from (38ns -> 108ns for 1k -> 1m items), while the BloomK stuck at (27ns) despite making room for a million times more items in the bloom. The bloom-1 (which is the 64bit version) underperformed on accuracy (was ~2x faster at 16ns per op, but worse at filtering out items).
[1] - https://github.com/prasanthj/bloomfilter/tree/master/benchma...
Presto
-
Multi-Database Support in DuckDB
We have some of this functionality in Presto (https://github.com/prestodb/presto), but it takes fair bit of work to implement it for all the different backends.
-
Rust std:fs slower than Python
Note that glibc has a similar problem in multithreaded contexts. It strands unused memory in thread-local pools, which grows your memory usage over time like a memory leak. We got lower memory usage that didn't grow over time by switching to jemalloc.
Example of this: https://github.com/prestodb/presto/issues/8993
-
Ask HN: What are some SQL transpilers?
SQLGlot is a really awesome tool that can. transpile SQL to various dialects -- https://news.ycombinator.com/item?id=31981568. What are some other SQL transpilers? I believe Presto (https://github.com/prestodb/presto) includes one, but what are others?
-
After a few recent events, opening a Linux terminal in public places is a big no-no
export MVNW_VERBOSE=true git clone https://github.com/prestodb/presto.git cd presto bash ./mvnw clean install
- Compile the Minecraft Server (Java Edition) to Native with GraalVM Native Image
-
What are y'all learning right now?
more specifically, recently started learning about Presto [paper], and have been diving deeper into [source] code.
-
DeWitt Clause, or Can You Benchmark %DATABASE% and Get Away With It
Presto
- Let's write a compiler, part 5: A code generator
-
Memoization in Cost-based Optimizers
You may find a similar design in many production-grade heuristic optimizers. In our previous blog post about Presto, we discussed the Memo class that manages such references. In Apache Calcite, the heuristic optimizer HepPlanner models node references through the class HepRelVertex.
What are some alternatives?
Trino - Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
superset - Apache Superset is a Data Visualization and Data Exploration Platform
Apache Phoenix - Apache Phoenix
Apache Calcite - Apache Calcite
HikariCP - 光 HikariCP・A solid, high-performance, JDBC connection pool at last.
ObjectBox Java (Kotlin, Android) - Java and Android Database - fast and lightweight without any ORM
jOOQ - jOOQ is the best way to write SQL in Java
Spring Data JPA - Simplifies the development of creating a JPA-based data access layer.
Apache Drill - Apache Drill is a distributed MPP query layer for self describing data
Flyway - Flyway by Redgate • Database Migrations Made Easy.