{"id":79572,"date":"2020-08-20T20:24:13","date_gmt":"2020-08-20T14:54:13","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=79572"},"modified":"2020-08-20T20:24:13","modified_gmt":"2020-08-20T14:54:13","slug":"apache-pig-tutorial","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/","title":{"rendered":"Apache Pig Tutorial for Beginners"},"content":{"rendered":"<p>Pig is one of the components of the Hadoop ecosystem. If you are eager to learn Apache Pig, then this tutorial is the best guide. This Pig tutorial will cover each and everything related to Apache Pig.<\/p>\n<p>The article first explains why Apache Pig came into the picture for analyzing big data in the era of MapReduce. Later on, you will explore Pig features and a lot more concepts related to Pig.<\/p>\n<p>&nbsp;<\/p>\n<h3>Why was Apache Pig developed?<\/h3>\n<p>Previously, for analyzing data in Apache Hadoop, we had to write MapReduce jobs in Java, which is not an easy task. To perform a simple task, we have to write 200 lines of codes. It is very complex.<\/p>\n<p>In such a scenario, Apache Pig comes out as a boon for the programmers who are not good with programming languages like Java or Python. Also, even if someone has good hands on Java, then also they feel a headache while writing MapReduce jobs.<\/p>\n<p>At an approx 10 lines of Apache Pig code is equal to the 200 lines of MapReduce code. So in order to provide flexibility to the programmers and reduce the burden of writing long MapReduce code, Apache Pig was developed. For the programmers, Apache Pig is a savior because:<\/p>\n<ul>\n<li>It uses a language called \u2018Pig Latin\u2019 which is a high-level data flow language. Without writing the complex Java implementations in MapReduce, the programmers can easily achieve the same implementations by using Pig Latin.<\/li>\n<li>Pig uses a multi-query approach, that means by using a single Pig Latin query, we can perform multiple MapReduce tasks. This reduces the length of the code by 20 times. Thus, it helps in quick development by reducing the development time by almost 16 times.<\/li>\n<li>Apache Pig supports many built-in operators that provide support for data operations like ordering, joins, filters, sorting, etc.<\/li>\n<li>In addition, Apache Pig also provides nested data types like bags, tuples, and maps that are missing from the MapReduce.<\/li>\n<\/ul>\n<h3>What is Apache Pig?<\/h3>\n<p>Apache Pig is a platform used for analyzing massive data sets representing them as data flows. Pig is basically an abstraction over MapReduce.<\/p>\n<p>Its purpose is to reduce the complexities of writing a complex MapReduce program. With Apache Pig, we can perform all types of data manipulation operations in Apache Hadoop.<\/p>\n<p>For writing the data analysis programs, Apache Pig provides a high-level language known as Pig Latin. This language supports several operators which programmers can use for developing their own functions for performing several tasks like reading, writing, and processing data.<\/p>\n<p>For analyzing data using Pig, we have to write the scripts by using Pig Latin language. Internally all these scripts are converted into the Map and Reduce tasks.<\/p>\n<p>Pig has a component called Pig Engine, which accepts Pig Latin scripts as input and converts them into MapReduce jobs.<\/p>\n<h3>History of Apache Pig<\/h3>\n<ul>\n<li><strong>2006:<\/strong> In 2006, Pig was developed as a research project at Yahoo, especially for creating and executing MapReduce jobs on every dataset.<\/li>\n<li><strong>2007:<\/strong> In 2007, Pig was open-sourced via Apache incubator.<\/li>\n<li><strong>2008:<\/strong> In 2008, the first release of Apache Pig came out.<\/li>\n<li><strong>2010:<\/strong> In 2010, Apache Pig became the Apache top-level project.<\/li>\n<\/ul>\n<h3>Where to use Apache Pig?<\/h3>\n<p>Pig is basically useful for analyzing data involving ad-hoc processing. We can use it in situations where:<\/p>\n<ul>\n<li>There is a need to process large data sets such as streaming online data, Web logs, etc.<\/li>\n<li>We require Data processing for the search platforms, that is, when we need to process different types of data, like Yahoo, which uses Apache Pig for 40% of their jobs, including search engine and news feeds.<\/li>\n<li>We are in need to process the time-sensitive data loads. In this situation, the data needs to be extracted and analyzed quickly.<\/li>\n<\/ul>\n<h3>Features of Apache Pig<\/h3>\n<p>1. Apache Pig allows programmers to write complex data transformations without worrying about Java.<\/p>\n<p>2. Pig has two main components, that are, Pig Latin language and Pig Run-time Environment. In the Pig Run-time environment, Pig Latin programs are executed.<\/p>\n<p>3. Pig provides a simple data flow language called Pig Latin for Big Data Analytics. Pig Latin provides the same functionalities as SQL like filter, join, limit, etc.<\/p>\n<p>4. Developers who are familiar with the scripting languages and SQL, leverages Pig Latin. This provides developers with ease of programming with Pig.<\/p>\n<p>5. Pig Latin provides support for various built-in operators such as filter, join, sort, etc. for reading, writing, and processing huge amounts of data sets. Thus, Apache Pig has a rich set of operators.<\/p>\n<p>6. For analyzing data using Pig, we have to write the scripts by using the Pig Latin language. Internally all these scripts are converted into the Map and Reduce tasks. Before the development of Apache Pig, writing MapReduce tasks was the only way of processing data in HDFS.<\/p>\n<p>7. Apache Pig allows developers to write the User Defined Function in any language if the programmer wishes to write the custom functions which are unavailable. This UDF is then embedded in the Pig script. This gives extensibility to Apache Pig.<\/p>\n<p>8. We can use Apache Pig for processing any kind of data, that is, structured\/semi-structured\/unstructured data coming from several sources.<\/p>\n<p>9. At an approx 10 lines of Apache Pig code is equal to the 200 lines of MapReduce code.<\/p>\n<p>10. Apache Pig can handle inconsistent schema.<\/p>\n<p>11. Apache Pig can extract the data, perform operations on them, and dump back the data in the required format in the HDFS. That means we can use it for ETL (Extract Transform Load) operations.<\/p>\n<p>12. Pig automatically optimizes a task before task execution. Thus provide automatic optimization.<\/p>\n<h3>Architecture of Apache Pig<\/h3>\n<p>We need Pig Latin language for writing a Pig script and a runtime environment for executing them. The below image depicts the Apache Pig architecture.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/08\/Architecture-of-Apache-Pig.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79604\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/08\/Architecture-of-Apache-Pig.jpg\" alt=\"Architecture of Apache Pig\" width=\"631\" height=\"951\" \/><\/a><\/p>\n<h4>1. Pig Latin Scripts<\/h4>\n<p>Initially, we submit the Pig scripts written in Pig Latin to the Apache Pig execution environment.<br \/>\nThere are three ways of executing the Pig script:<\/p>\n<ul>\n<li><strong>Grunt Shell:<\/strong> It is the Apache Pig\u2019s interactive shell for executing all the Pig Scripts.<\/li>\n<li><strong>Pig Server:<\/strong> We can write all the Pig commands in the script file and then execute the Pig script file. Pig Server executes this script file.<\/li>\n<li><strong>Embedded Script:<\/strong> We can create UDF by using languages like Java, Ruby, Python, etc. if some functions are unavailable. This UDF is embedded in the Pig Latin Script file, and then the script file is executed.<\/li>\n<\/ul>\n<h4>2. Parser<\/h4>\n<p>After passing through the Grunt or the Pig Server, the Pig Scripts are passed to the Parser. The Parser performs type checking, and it checks the syntax of the Pig script.<\/p>\n<p>The parser output is a DAG (directed acyclic graph). DAG represents Pig Latin statements and logical operators. The nodes represent the logical operators, and the edges represent the data flows.<\/p>\n<h4>3. Optimizer<\/h4>\n<p>Then the output of the parser, that is, DAG is submitted to the optimizer. The Optimizer does the optimization activities such as split, transform, merge, reorder operators etc. Optimizer is responsible for providing the automatic optimization feature to Pig.<\/p>\n<h4>4. Compiler<\/h4>\n<p>After optimization, the compiler compiles the optimized code into the series of MapReduce jobs. Compiler in Pig is responsible for converting the Pig jobs automatically into the MapReduce jobs.<\/p>\n<h4>5. Execution engine<\/h4>\n<p>The MapReduce jobs from the compiler are then passed to the execution engine. Here, the MapReduce jobs are executed and produce the required result. The result is displayed on the screen by using the \u201cDUMP\u201d statement and is stored in the HDFS by using the \u201cSTORE\u201d statement.<\/p>\n<p>Let us now explore the Pig Data model.<\/p>\n<h3>Pig Latin Data Model<\/h3>\n<p>The data model of Pig Latin allows Apache Pig to handle all types of data. The Pig Latin can handle atomic data types such as int, float, double, long, etc. as well as complex data types such as bag, tuple, and map.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/08\/Apache-Pig-Data-Model.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79605\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/08\/Apache-Pig-Data-Model.jpg\" alt=\"Apache Pig latin Data Model\" width=\"622\" height=\"430\" \/><\/a><\/p>\n<h4>Atom<\/h4>\n<p>Atomic, also known as scalar data types, are the basic data types in Pig Latin, which are used in all the types like string, float, int, double, long, char[], byte[]. The atomic data types are also known as primitive data types. Each cell value in a field (column) is an atomic data type.<\/p>\n<p>For Example \u2212 \u2018Joe\u2019, 1, etc.<\/p>\n<h4>Tuple<\/h4>\n<p>The Tuple is an ordered set of fields that may contain different data types for different fields. It is similar to the records stored in a row in the RDBMS. The tuple is represented by the \u2018()\u2019 symbol. We can access fields in each tuple by using the indexes of the fields.<\/p>\n<p>For Example: (1, Linkin Park, 7, California), and we can access \u2018Linkin Park\u2019 by $1.<\/p>\n<h4>Bag<\/h4>\n<p>A bag in Pig Latin is an unordered set of tuples. In simpler words, it is a collection of tuples (non-unique). Each tuple in a bag can have any number of fields. A bag is represented by the symbol \u2018{}\u2019.<\/p>\n<p>Bag is similar to the table in RDBMS. But unlike the table in RDBMS, in Bag it is not necessary that every tuple must contain the same number of fields or all the fields must be in the same position or have the same type.<\/p>\n<p>For Example \u2212 {(Linkin Park, 7, California), (Metallica, 8), (Mega Death, Los Angeles)}<\/p>\n<h4>Map<\/h4>\n<p>A map in Pig Latin is a set of key-value pairs. The key must be unique and needs to be of type chararray. The value in the map can be of any type. The Map is represented by the symbol \u2018[]\u2019<\/p>\n<p>For Example \u2212[band#Linkin Park, members#7 ], [band#Metallica, members#8 ]<\/p>\n<h3>Difference between Apache Pig and MapReduce<\/h3>\n<table>\n<tbody>\n<tr>\n<td><b>Apache Pig<\/b><\/td>\n<td><b>MapReduce<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">It is a data flow language.<\/span><\/td>\n<td><span style=\"font-weight: 400\">It is a data processing framework.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Pig is a high-level language.<\/span><\/td>\n<td><span style=\"font-weight: 400\">MapReduce is low-level and rigid.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">In Apache Pig, we can easily perform a Join operation.\u00a0<\/span><\/td>\n<td><span style=\"font-weight: 400\">Performing join operations between datasets in MapReduce is quite difficult.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Any novice programmer who is having a basic knowledge of SQL can easily work with Apache Pig.<\/span><\/td>\n<td><span style=\"font-weight: 400\">For working with MapReduce, one has to be familiar with Java.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Apache Pig uses the multi-query approach. Thus the length of the code is reduced to a great extent.<\/span><\/td>\n<td><span style=\"font-weight: 400\">MapReduce requires almost 20 times more number of lines as compared to Pig code to perform the same task.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">In Apache Pig, there is no need for compilation. Every Pig operator on execution is converted internally into the MapReduce job.<\/span><\/td>\n<td><span style=\"font-weight: 400\">MapReduce jobs go through a long compilation process.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><span style=\"font-weight: 400\">Difference between Apache Pig and SQL<\/span><\/h3>\n<table>\n<tbody>\n<tr>\n<td><b>Pig<\/b><\/td>\n<td><b>SQL<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Pig Latin is the procedural language.<\/span><\/td>\n<td><span style=\"font-weight: 400\">SQL is the declarative language.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Schema is optional in Apache Pig. In Pig, we can store data without designing any schema.<\/span><\/td>\n<td><span style=\"font-weight: 400\">In SQL, schema is mandatory.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Nested relational data model.<\/span><\/td>\n<td><span style=\"font-weight: 400\">The data model in SQL is flat relational.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Pig provides limited opportunity for Query optimization.<\/span><\/td>\n<td><span style=\"font-weight: 400\">SQL provides more opportunities for query optimization.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Difference between Apache Pig and Hive<\/h3>\n<table>\n<tbody>\n<tr>\n<td><b>Apache Pig<\/b><\/td>\n<td><b>Hive<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Created at Yahoo. It uses a language called Pig Latin.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Created by Facebook. It uses a language called HiveQL.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">It is a data flow language.<\/span><\/td>\n<td><span style=\"font-weight: 400\">HiveQL is a query processing language.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Pig Latin is a procedural language.<\/span><\/td>\n<td><span style=\"font-weight: 400\">HiveQL is a declarative language.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Apache Pig can handle structured\/unstructured\/semi-structured data.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Hive is mostly for structured data.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Applications of Apache Pig<\/h3>\n<p>We can use Apache Pig for \u2212<\/p>\n<ul>\n<li>Performing tasks involving the ad-hoc processing and quick prototyping.<\/li>\n<li>Processing large data sources such as web logs.<\/li>\n<li>Performing data processing for the search platforms.<\/li>\n<li>Processing time-sensitive data loads.<\/li>\n<\/ul>\n<h3>Summary<\/h3>\n<p>I hope after reading this article you clearly understood Apache Pig. The article had explained what Apache Pig is, where we can use Apache Pig. We can use Apache Pig for analyzing large data sets with the Pig scripts written using Pig Latin.<\/p>\n<p>The Pig architecture consists of Compiler, Parser, Optimizer, and Execution engine. The article had also explained the Pig Latin Data Model. If you are having any issue regarding this topic, then do share it in the comment box.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pig is one of the components of the Hadoop ecosystem. If you are eager to learn Apache Pig, then this tutorial is the best guide. This Pig tutorial will cover each and everything related&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":79596,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[544],"tags":[3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125],"class_list":["post-79572","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hadoop","tag-apache-pig-tutorial","tag-hadoop-pig-tutorial","tag-history-of-apache-pig","tag-introduction-to-hadoop-pig","tag-pig-hadoop","tag-pig-tutorial","tag-what-is-apache-pig","tag-what-is-hadoop-pi","tag-where-can-we-use-pig","tag-where-not-to-use-pig","tag-why-do-we-need-apache-pig"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apache Pig Tutorial for Beginners - TechVidvan<\/title>\n<meta name=\"description\" content=\"Apache Pig Tutorial covers Introduction, History, uses, Features, Architecture, Latin Data model, Pig Vs MapReduce, Applications &amp; Limitations of Apache Pig\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Pig Tutorial for Beginners - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Apache Pig Tutorial covers Introduction, History, uses, Features, Architecture, Latin Data model, Pig Vs MapReduce, Applications &amp; Limitations of Apache Pig\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-20T14:54:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/apache-pig-tutorial-TV.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache Pig Tutorial for Beginners - TechVidvan","description":"Apache Pig Tutorial covers Introduction, History, uses, Features, Architecture, Latin Data model, Pig Vs MapReduce, Applications & Limitations of Apache Pig","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Apache Pig Tutorial for Beginners - TechVidvan","og_description":"Apache Pig Tutorial covers Introduction, History, uses, Features, Architecture, Latin Data model, Pig Vs MapReduce, Applications & Limitations of Apache Pig","og_url":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2020-08-20T14:54:13+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/apache-pig-tutorial-TV.jpg","type":"image\/jpeg"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Apache Pig Tutorial for Beginners","datePublished":"2020-08-20T14:54:13+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/"},"wordCount":1944,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/apache-pig-tutorial-TV.jpg","keywords":["Apache Pig tutorial","Hadoop Pig Tutorial","History of Apache Pig","Introduction to Hadoop Pig","Pig Hadoop","Pig Tutorial","What is Apache Pig","What is Hadoop Pi","Where can we use Pig","Where Not to Use Pig","Why Do We Need Apache Pig"],"articleSection":["Hadoop Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/","url":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/","name":"Apache Pig Tutorial for Beginners - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/apache-pig-tutorial-TV.jpg","datePublished":"2020-08-20T14:54:13+00:00","description":"Apache Pig Tutorial covers Introduction, History, uses, Features, Architecture, Latin Data model, Pig Vs MapReduce, Applications & Limitations of Apache Pig","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/apache-pig-tutorial-TV.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/apache-pig-tutorial-TV.jpg","width":1200,"height":628,"caption":"apache pig tutorial"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/apache-pig-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Apache Pig Tutorial for Beginners"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/79572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=79572"}],"version-history":[{"count":0,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/79572\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/79596"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=79572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=79572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=79572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}