Need advice about which tool to choose?Ask the StackShare community!

Amazon Athena

486
831
+ 1
49
Apache Hive

475
472
+ 1
0
Add tool

Amazon Athena vs Apache Hive: What are the differences?

Amazon Athena and Apache Hive are both tools used for querying and analyzing data. Here are the key differences between them:

  1. Query Language Syntax: Amazon Athena uses Presto SQL, which is based on ANSI SQL syntax. It supports a wide range of SQL functions and has strong compatibility with various SQL clients. On the other hand, Apache Hive uses its own query language called HiveQL, which is SQL-like but not fully compatible with ANSI SQL. It has additional features like user-defined functions and custom serialization.

  2. Data Processing framework: Amazon Athena uses a serverless processing framework, where the queries are executed on distributed resources managed by AWS. It offers high scalability and parallelism without the need for infrastructure provisioning. Apache Hive, on the other hand, runs on top of Hadoop MapReduce or Apache Tez for data processing. It requires setting up and configuring Hadoop clusters, which may be complex and time-consuming.

  3. Data Storage Integration: Amazon Athena directly integrates with AWS S3 as its primary data source and does not require any data loading process. It can query data stored in various formats, such as CSV, JSON, Parquet, and ORC. Apache Hive can also work with various storage systems, including Hadoop Distributed File System (HDFS), but data needs to be loaded into the Hive tables before querying.

  4. Performance and Scalability: Amazon Athena leverages the highly optimized Presto engine for distributed query execution, enabling fast query processing. It automatically scales up or down based on the query workload, ensuring high performance and resource efficiency. Apache Hive's performance heavily relies on the underlying data processing framework (MapReduce or Tez) and requires manual optimization for better performance.

  5. Data Catalog and Metadata Management: Amazon Athena utilizes AWS Glue Data Catalog, which provides a central repository for storing table metadata and schema information. It simplifies the process of creating and managing tables, including automatic schema detection. Apache Hive has its own metastore for managing table metadata, but it requires manual configuration and maintenance.

  6. Cost Model and Pricing: Amazon Athena follows a pay-per-query pricing model, where users are charged based on the amount of data scanned by each query. This allows cost optimization by using data partitioning, compression, and columnar storage techniques. Apache Hive, being part of the Hadoop ecosystem, typically requires infrastructure setup and maintenance costs, including hardware and software licenses.

In summary, Amazon Athena offers a serverless and scalable query service with ANSI SQL compatibility and tight integration with AWS S3, while Apache Hive requires manual setup, has its own query language, and relies on underlying Hadoop infrastructure for distributed processing.

Advice on Amazon Athena and Apache Hive

Hi all,

Currently, we need to ingest the data from Amazon S3 to DB either Amazon Athena or Amazon Redshift. But the problem with the data is, it is in .PSV (pipe separated values) format and the size is also above 200 GB. The query performance of the timeout in Athena/Redshift is not up to the mark, too slow while compared to Google BigQuery. How would I optimize the performance and query result time? Can anyone please help me out?

See more
Replies (4)

you can use aws glue service to convert you pipe format data to parquet format , and thus you can achieve data compression . Now you should choose Redshift to copy your data as it is very huge. To manage your data, you should partition your data in S3 bucket and also divide your data across the redshift cluster

See more
Carlos Acedo
Data Technologies Manager at SDG Group Iberia · | 5 upvotes · 235K views
Recommends
on
Amazon RedshiftAmazon Redshift

First of all you should make your choice upon Redshift or Athena based on your use case since they are two very diferent services - Redshift is an enterprise-grade MPP Data Warehouse while Athena is a SQL layer on top of S3 with limited performance. If performance is a key factor, users are going to execute unpredictable queries and direct and managing costs are not a problem I'd definitely go for Redshift. If performance is not so critical and queries will be predictable somewhat I'd go for Athena.

Once you select the technology you'll need to optimize your data in order to get the queries executed as fast as possible. In both cases you may need to adapt the data model to fit your queries better. In the case you go for Athena you'd also proabably need to change your file format to Parquet or Avro and review your partition strategy depending on your most frequent type of query. If you choose Redshift you'll need to ingest the data from your files into it and maybe carry out some tuning tasks for performance gain.

I'll recommend Redshift for now since it can address a wider range of use cases, but we could give you better advice if you described your use case in depth.

See more
Alexis Blandin
Recommends
on
Amazon AthenaAmazon Athena

It depend of the nature of your data (structured or not?) and of course your queries (ad-hoc or predictible?). For example you can look at partitioning and columnar format to maximize MPP capabilities for both Athena and Redshift

See more
Recommends

you can change your PSV fomat data to parquet file format with AWS GLUE and then your query performance will be improved

See more
Decisions about Amazon Athena and Apache Hive
Ashish Singh
Tech Lead, Big Data Platform at Pinterest · | 38 upvotes · 2.9M views

To provide employees with the critical need of interactive querying, we’ve worked with Presto, an open-source distributed SQL query engine, over the years. Operating Presto at Pinterest’s scale has involved resolving quite a few challenges like, supporting deeply nested and huge thrift schemas, slow/ bad worker detection and remediation, auto-scaling cluster, graceful cluster shutdown and impersonation support for ldap authenticator.

Our infrastructure is built on top of Amazon EC2 and we leverage Amazon S3 for storing our data. This separates compute and storage layers, and allows multiple compute clusters to share the S3 data.

We have hundreds of petabytes of data and tens of thousands of Apache Hive tables. Our Presto clusters are comprised of a fleet of 450 r4.8xl EC2 instances. Presto clusters together have over 100 TBs of memory and 14K vcpu cores. Within Pinterest, we have close to more than 1,000 monthly active users (out of total 1,600+ Pinterest employees) using Presto, who run about 400K queries on these clusters per month.

Each query submitted to Presto cluster is logged to a Kafka topic via Singer. Singer is a logging agent built at Pinterest and we talked about it in a previous post. Each query is logged when it is submitted and when it finishes. When a Presto cluster crashes, we will have query submitted events without corresponding query finished events. These events enable us to capture the effect of cluster crashes over time.

Each Presto cluster at Pinterest has workers on a mix of dedicated AWS EC2 instances and Kubernetes pods. Kubernetes platform provides us with the capability to add and remove workers from a Presto cluster very quickly. The best-case latency on bringing up a new worker on Kubernetes is less than a minute. However, when the Kubernetes cluster itself is out of resources and needs to scale up, it can take up to ten minutes. Some other advantages of deploying on Kubernetes platform is that our Presto deployment becomes agnostic of cloud vendor, instance types, OS, etc.

#BigData #AWS #DataScience #DataEngineering

See more
Karthik Raveendran
CPO at Attinad Software · | 3 upvotes · 208.9K views

The platform deals with time series data from sensors aggregated against things( event data that originates at periodic intervals). We use Cassandra as our distributed database to store time series data. Aggregated data insights from Cassandra is delivered as web API for consumption from other applications. Presto as a distributed sql querying engine, can provide a faster execution time provided the queries are tuned for proper distribution across the cluster. Another objective that we had was to combine Cassandra table data with other business data from RDBMS or other big data systems where presto through its connector architecture would have opened up a whole lot of options for us.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Amazon Athena
Pros of Apache Hive
  • 16
    Use SQL to analyze CSV files
  • 8
    Glue crawlers gives easy Data catalogue
  • 7
    Cheap
  • 6
    Query all my data without running servers 24x7
  • 4
    No data base servers yay
  • 3
    Easy integration with QuickSight
  • 2
    Query and analyse CSV,parquet,json files in sql
  • 2
    Also glue and athena use same data catalog
  • 1
    No configuration required
  • 0
    Ad hoc checks on data made easy
    Be the first to leave a pro

    Sign up to add or upvote prosMake informed product decisions

    - No public GitHub repository available -

    What is Amazon Athena?

    Amazon Athena is an interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL. Athena is serverless, so there is no infrastructure to manage, and you pay only for the queries that you run.

    What is Apache Hive?

    Hive facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Amazon Athena?
    What companies use Apache Hive?
    See which teams inside your own company are using Amazon Athena or Apache Hive.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Amazon Athena?
    What tools integrate with Apache Hive?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Aug 28 2019 at 3:10AM

    Segment

    PythonJavaAmazon S3+16
    7
    2559
    Jul 2 2019 at 9:34PM

    Segment

    Google AnalyticsAmazon S3New Relic+25
    10
    6764
    What are some alternatives to Amazon Athena and Apache Hive?
    Presto
    Distributed SQL Query Engine for Big Data
    Amazon Redshift Spectrum
    With Redshift Spectrum, you can extend the analytic power of Amazon Redshift beyond data stored on local disks in your data warehouse to query vast amounts of unstructured data in your Amazon S3 “data lake” -- without having to load or transform any data.
    Amazon Redshift
    It is optimized for data sets ranging from a few hundred gigabytes to a petabyte or more and costs less than $1,000 per terabyte per year, a tenth the cost of most traditional data warehousing solutions.
    Cassandra
    Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
    Spectrum
    The community platform for the future.
    See all alternatives