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

Amazon Athena

484
829
+ 1
49
Pig

59
111
+ 1
5
Add tool

Amazon Athena vs Pig: What are the differences?

Introduction

Amazon Athena and Pig are two popular tools used in big data analytics and processing. While both tools serve similar purposes, there are key differences between them in terms of functionality and usage. In this article, we will explore these differences and understand when to leverage each tool based on specific requirements.

  1. Data Querying Language: Amazon Athena is built on the Presto distributed SQL engine, and it uses a SQL-like query language for data querying and analysis. On the other hand, Pig is a high-level procedural language, known as Pig Latin, which allows users to write complex data transformation and analysis tasks using a set of predefined operators.

  2. Data Processing Paradigm: Amazon Athena operates on the data in a serverless manner by running SQL queries directly on the data stored in Amazon S3. It is a query-based service that allows users to interactively analyze data and get results quickly. In contrast, Pig operates on data using a batch processing paradigm, where users need to specify the entire data processing pipeline before executing it.

  3. Scalability and Performance: Amazon Athena is a fully managed service that automatically scales the underlying compute resources based on the query workload. It can handle large datasets and complex queries efficiently, providing fast results. Pig, on the other hand, relies on the Apache Hadoop ecosystem for distributed processing and can be scaled based on the available resources in the cluster. It requires users to optimize the Pig scripts for improved performance.

  4. Integration with Ecosystem: Amazon Athena seamlessly integrates with other AWS services, such as Amazon S3 for data storage, AWS Glue for metadata cataloging, and Amazon QuickSight for data visualization. It provides a unified experience with the entire AWS ecosystem. Pig is part of the Apache Hadoop ecosystem and integrates well with other Hadoop components, such as HDFS, YARN, and Hive, enabling users to leverage the entire Hadoop stack.

  5. Ease of Use and Learning Curve: Amazon Athena is designed to provide a user-friendly interface for running SQL queries on data without the need for infrastructure management. Users familiar with SQL can quickly start using Athena for data analysis. Pig, on the other hand, requires users to learn Pig Latin, a specialized scripting language, and understand the concepts of the Hadoop ecosystem, which may have a steeper learning curve for beginners.

  6. Flexibility and Extensibility: Amazon Athena allows users to write complex SQL queries with support for various built-in functions, aggregations, and joins. It also provides custom functions using the Presto function interface. Pig offers a wide range of built-in operators and functions that can be used for complex data transformations. Additionally, Pig provides the flexibility to write user-defined functions (UDFs) in Java, allowing users to extend its functionality to suit specific requirements.

In summary, Amazon Athena and Pig differ in their data querying language, data processing paradigm, scalability, integration with the ecosystem, ease of use, and flexibility. While Amazon Athena is a serverless SQL-based query service for interactive analysis, Pig is a high-level procedural language for batch data processing in the Hadoop ecosystem.

Advice on Amazon Athena and Pig

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 · 232.8K 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
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Amazon Athena
Pros of Pig
  • 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
  • 2
    Finer-grained control on parallelization
  • 1
    Proven at Petabyte scale
  • 1
    Open-source
  • 1
    Join optimizations for highly skewed data

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 Pig?

Pig is a dataflow programming environment for processing very large files. Pig's language is called Pig Latin. A Pig Latin program consists of a directed acyclic graph where each node represents an operation that transforms data. Operations are of two flavors: (1) relational-algebra style operations such as join, filter, project; (2) functional-programming style operators such as map, reduce.

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

Jobs that mention Amazon Athena and Pig as a desired skillset
What companies use Amazon Athena?
What companies use Pig?
See which teams inside your own company are using Amazon Athena or Pig.
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 Pig?

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
2551
Jul 2 2019 at 9:34PM

Segment

Google AnalyticsAmazon S3New Relic+25
10
6736
What are some alternatives to Amazon Athena and Pig?
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