

{"id":14236,"date":"2018-05-07T10:00:46","date_gmt":"2018-05-07T10:00:46","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=14236"},"modified":"2018-05-07T10:00:46","modified_gmt":"2018-05-07T10:00:46","slug":"pig-reading-data-storing-data","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/","title":{"rendered":"Apache Pig Reading Data and Storing Data Operators"},"content":{"rendered":"<p><span style=\"font-weight: 400\">For the purpose of Reading and Storing Data, there are two operators available in <strong>Apache Pig<\/strong>. Such as\u00a0Load Operator and Store Operator. <\/span><\/p>\n<p><span style=\"font-weight: 400\">So, in this article &#8220;Apache Pig Reading Data and Storing Data Operators&#8221;,\u00a0<\/span><span style=\"font-weight: 400\">we will cover the whole concept of Pig Reading Data and Storing Data with load and Store Operators. Also, we will cover their syntax as well as their examples to understand it well.<\/span><\/p>\n<p>So, let&#8217;s understand\u00a0<span style=\"font-weight: 400\">Apache Pig Reading Data and Storing Data Operators.<\/span><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/apache-pig-built-in-functions\/\">Read:\u00a0Apache Pig Built-in Functions Cheat Sheet<\/a><\/p>\n<h2><span style=\"font-weight: 400\">What is Apache Pig Reading Data and Storing Data?<\/span><\/h2>\n<p><span style=\"font-weight: 400\">As we all know, generally, Apache Pig works on top of <strong>Hadoop<\/strong>. To define, Pig is an analytical tool that analyzes large datasets that exist in the Hadoop File System. <\/span><\/p>\n<p><span style=\"font-weight: 400\">However, we have to initially load the data into Apache Pig, in order to analyze data using Apache Pig. For that, we use the load Operator. Afterwards, using the Store Operator, we can store the loaded data in the file system.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">i. LOAD<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Basically, Load Operator loads data from the file system. <\/span><\/p>\n<h4><strong>a.\u00a0Syntax<\/strong><\/h4>\n<pre class=\"EnlighterJSRAW\">LOAD 'data' [USING function] [AS schema];<\/pre>\n<h4>b.\u00a0Terms<\/h4>\n<p><strong>1.\u00a0&#8216;data&#8217;<\/strong><br \/>\n<span style=\"font-weight: 400\">It signifies the name of the file or directory, in single quotes.<\/span><br \/>\n<span style=\"font-weight: 400\">Once we specify a directory name, all the files in the directory are loaded.<\/span><br \/>\n<span style=\"font-weight: 400\">In addition, to specify files at the file system or directory levels we can use Hadoop-supported globing.<\/span><\/p>\n<p><strong>2. USING<\/strong><br \/>\n<span style=\"font-weight: 400\">Keyword.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The default load function PigStorage is used if the USING clause is omitted.<\/span><\/li>\n<\/ul>\n<p><strong>3. function<\/strong><br \/>\n<span style=\"font-weight: 400\">The load function.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Also, we can use a built-in function. Basically, PigStorage is the default load function. That does not need to be specified (simply omit the USING clause).<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">However, we can write our own load function, if our data is in a format that cannot be processed by the built-in functions.<\/span><\/li>\n<\/ul>\n<p><strong>4.\u00a0AS<\/strong><br \/>\n<span style=\"font-weight: 400\">Keyword<\/span><\/p>\n<p><strong>5. Schema<\/strong><br \/>\n<span style=\"font-weight: 400\">Generally, enclosed in parentheses, a schema using the AS keyword.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Basically, schema specifies the type of the data which the loader produces. Make sure depending on the loader, if the data does not conform to the schema, there are two possibilities, either a null value or an error is generated.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Also, very important to note that the loader may not immediately convert the data to the specified format, for performance reasons. Although, still we can operate on the data assuming the specified type. <\/span><\/p>\n<h4><strong>c.\u00a0Usage<\/strong><\/h4>\n<p><span style=\"font-weight: 400\">To load data from the file system, we use the LOAD operator. <\/span><\/p>\n<h4><strong>d.\u00a0Examples<\/strong><\/h4>\n<p><span style=\"font-weight: 400\">Example of LOAD in Pig Reading Data\u00a0<\/span><br \/>\n<span style=\"font-weight: 400\">Let\u2019s assume we have a data file called file1.txt. Moreover, the fields are tab-delimited. And, the records are newline-separated.<\/span><br \/>\n<span style=\"font-weight: 400\">1 2 3<\/span><br \/>\n<span style=\"font-weight: 400\">4 2 1<\/span><br \/>\n<span style=\"font-weight: 400\">8 3 4<\/span><br \/>\n<span style=\"font-weight: 400\">Here, the default load function, PigStorage, loads data from file1.txt to form relation A. Further, the two LOAD statements are equivalent. However, note this, the fields are not named and all fields default to type bytearray, because no schema is specified.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">A = LOAD 'file1.txt';\nA = LOAD 'file1.txt' USING PigStorage('\\t');\nDUMP A;<\/pre>\n<p><span style=\"font-weight: 400\">(1,2,3)<\/span><br \/>\n<span style=\"font-weight: 400\">(4,2,1)<\/span><br \/>\n<span style=\"font-weight: 400\">(8,3,4)<\/span><br \/>\n<span style=\"font-weight: 400\">So, here a schema is specified using the AS keyword. And, the two LOAD statements are equivalent. Moreover, to view the schema, also we can use the DESCRIBE and ILLUSTRATE operators.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">A = LOAD 'file1.txt' AS (f1:int, f2:int, f3:int); A = LOAD 'file1.txt' USING PigStorage(\u2018\\t\u2019) AS (f1:int, f2:int, f3:int);\nDESCRIBE A;\na: {f1: int,f2: int,f3: int}\nILLUSTRATE A;<\/pre>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400\">a<\/span><\/td>\n<td><span style=\"font-weight: 400\">f1: bytearray<\/span><\/td>\n<td><span style=\"font-weight: 400\">f2: bytearray<\/span><\/td>\n<td><span style=\"font-weight: 400\">f3: bytearray<\/span><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><span style=\"font-weight: 400\">4<\/span><\/td>\n<td><span style=\"font-weight: 400\">2<\/span><\/td>\n<td><span style=\"font-weight: 400\">1<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400\">a<\/span><\/td>\n<td><span style=\"font-weight: 400\">f1: \u00a0int <\/span><\/td>\n<td><span style=\"font-weight: 400\">f2: \u00a0int <\/span><\/td>\n<td><span style=\"font-weight: 400\">f3: \u00a0int <\/span><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><span style=\"font-weight: 400\">4<\/span><\/td>\n<td><span style=\"font-weight: 400\">2<\/span><\/td>\n<td><span style=\"font-weight: 400\">1<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/apache-pig-features\/\">Let&#8217;s explore\u00a0Top 12 Apache Pig Features you must know<\/a><\/p>\n<h3><span style=\"font-weight: 400\">ii. STORE<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Basically, STORE operator, Stores or saves results to the file system. <\/span><\/p>\n<h4><strong>a.\u00a0Syntax<\/strong><\/h4>\n<pre class=\"EnlighterJSRAW\">STORE alias INTO 'directory' [USING function];<\/pre>\n<h4><strong>b.\u00a0Terms<\/strong><\/h4>\n<p><strong>1. alias<\/strong><br \/>\n<span style=\"font-weight: 400\">It is the name of a relation.<\/span><\/p>\n<p><strong>2. INTO<\/strong><br \/>\n<span style=\"font-weight: 400\">That is required keyword.<\/span><\/p>\n<p><strong>3. &#8216;directory&#8217;<\/strong><br \/>\n<span style=\"font-weight: 400\">Here, in quotes, we write the name of the storage directory. However, the STORE operation will fail, if the directory already exists.<\/span><br \/>\n<span style=\"font-weight: 400\">Well, the output data files named part-l, are written to this directory.<\/span><\/p>\n<p><strong>4. USING<\/strong><br \/>\n<span style=\"font-weight: 400\">Keyword. <\/span><br \/>\n<span style=\"font-weight: 400\">In order to name the store function, we use this clause.<\/span><br \/>\n<span style=\"font-weight: 400\">The default store function PigStorage is used if the USING clause is omitted.<\/span><\/p>\n<p><strong>5. function<\/strong><br \/>\n<span style=\"font-weight: 400\">The store function.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Also, we can use a built-in function. Basically, PigStorage is the default store function. That does not need to be specified (simply omit the USING clause).<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">However, we can write our own store function, if our data is in a format that cannot be processed by the built-in functions.\u00a0<\/span><\/li>\n<\/ul>\n<h4>c.Usage<\/h4>\n<p><span style=\"font-weight: 400\">Basically, to run (execute) Pig Latin statements, we use the STORE operator. Also, to save (persist) results to the file system, we use it. In addition, for production scripts and batch mode processing, we use STORE.<\/span><br \/>\n<span style=\"font-weight: 400\"><strong>Note:<\/strong> \u00a0We can use DUMP to check intermediate results, in order to debug scripts during development. <\/span><\/p>\n<h4><strong>d.\u00a0Examples<\/strong><\/h4>\n<p><span style=\"font-weight: 400\">For Example, <\/span><br \/>\n<span style=\"font-weight: 400\">Here, by using PigStorage and the asterisk character (*) as the field delimiter, we store the data.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">A = LOAD 'data' AS (a1:int,a2:int,a3:int);\nDUMP A;<\/pre>\n<p><span style=\"font-weight: 400\">(1,2,3)<\/span><br \/>\n<span style=\"font-weight: 400\">(4,2,1)<\/span><br \/>\n<span style=\"font-weight: 400\">(8,3,4)<\/span><br \/>\n<span style=\"font-weight: 400\">(4,3,3)<\/span><br \/>\n<span style=\"font-weight: 400\">(7,2,5)<\/span><br \/>\n<span style=\"font-weight: 400\">(8,4,3)<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">STORE A INTO 'output1' USING PigStorage ('*');\nCAT output1;<\/pre>\n<p><span style=\"font-weight: 400\">1*2*3<\/span><br \/>\n<span style=\"font-weight: 400\">4*2*1<\/span><br \/>\n<span style=\"font-weight: 400\">8*3*4<\/span><br \/>\n<span style=\"font-weight: 400\">4*3*3<\/span><br \/>\n<span style=\"font-weight: 400\">7*2*5<\/span><br \/>\n<span style=\"font-weight: 400\">8*4*3<\/span><br \/>\n<span style=\"font-weight: 400\">Here, to format the data before it is stored, we use the CONCAT function.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">A = LOAD 'data' AS (a1:int,a2:int,a3:int);\nDUMP A;<\/pre>\n<p><span style=\"font-weight: 400\">(1,2,3)<\/span><br \/>\n<span style=\"font-weight: 400\">(4,2,1)<\/span><br \/>\n<span style=\"font-weight: 400\">(8,3,4)<\/span><br \/>\n<span style=\"font-weight: 400\">(4,3,3)<\/span><br \/>\n<span style=\"font-weight: 400\">(7,2,5)<\/span><br \/>\n<span style=\"font-weight: 400\">(8,4,3)<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">B = FOREACH A GENERATE CONCAT('a:',(chararray)f1), CONCAT('b:',(chararray)f2), CONCAT('c:',(chararray)f3);\nDUMP B;<\/pre>\n<p><span style=\"font-weight: 400\">(a:1,b:2,c:3)<\/span><br \/>\n<span style=\"font-weight: 400\">(a:4,b:2,c:1)<\/span><br \/>\n<span style=\"font-weight: 400\">(a:8,b:3,c:4)<\/span><br \/>\n<span style=\"font-weight: 400\">(a:4,b:3,c:3)<\/span><br \/>\n<span style=\"font-weight: 400\">(a:7,b:2,c:5)<\/span><br \/>\n<span style=\"font-weight: 400\">(a:8,b:4,c:3)<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">STORE B INTO 'output1' using PigStorage(',');\nCAT output1;<\/pre>\n<p><span style=\"font-weight: 400\">a:1,b:2,c:3<\/span><br \/>\n<span style=\"font-weight: 400\">a:4,b:2,c:1<\/span><br \/>\n<span style=\"font-weight: 400\">a:8,b:3,c:4<\/span><br \/>\n<span style=\"font-weight: 400\">a:4,b:3,c:3<\/span><br \/>\n<span style=\"font-weight: 400\">a:7,b:2,c:5<\/span><br \/>\n<span style=\"font-weight: 400\">a:8,b:4,c:3<\/span><br \/>\nSo, this was all about Apache Pig Reading Data and Storing Data Operators. Hope you like our explanation.<\/p>\n<h2><span style=\"font-weight: 400\">Conclusion: Apache Pig Reading Data and Storing Data<\/span><\/h2>\n<p><span style=\"font-weight: 400\">As a result, we have seen both the Operators for the purpose of Reading and Storing Data in Apache Pig. Also, we discussed its examples to understand it well. Still, if any doubt occurs, regarding Apache\u00a0<\/span><span style=\"font-weight: 400\">Pig Reading Data and Storing Data, feel free to ask in the comment section.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>For the purpose of Reading and Storing Data, there are two operators available in Apache Pig. Such as\u00a0Load Operator and Store Operator. So, in this article &#8220;Apache Pig Reading Data and Storing Data Operators&#8221;,\u00a0we&#46;&#46;&#46;<\/p>\n","protected":false},"author":7,"featured_media":35439,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40],"tags":[8352,8353,9518,13866],"class_list":["post-14236","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pig","tag-load-operator","tag-load-operator-and-store-operator","tag-pig-reading-and-storing-data","tag-store-operator"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apache Pig Reading Data and Storing Data Operators - DataFlair<\/title>\n<meta name=\"description\" content=\"Apache Pig reading data and storing data, Store operators, Load operators, Syntax, Terms, Usage and example of Store operator and Load operators\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Pig Reading Data and Storing Data Operators - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Apache Pig reading data and storing data, Store operators, Load operators, Syntax, Terms, Usage and example of Store operator and Load operators\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-07T10:00:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Apache-Pig-Reading-and-storing-data-01.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=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache Pig Reading Data and Storing Data Operators - DataFlair","description":"Apache Pig reading data and storing data, Store operators, Load operators, Syntax, Terms, Usage and example of Store operator and Load operators","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:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/","og_locale":"en_US","og_type":"article","og_title":"Apache Pig Reading Data and Storing Data Operators - DataFlair","og_description":"Apache Pig reading data and storing data, Store operators, Load operators, Syntax, Terms, Usage and example of Store operator and Load operators","og_url":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-05-07T10:00:46+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Apache-Pig-Reading-and-storing-data-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd"},"headline":"Apache Pig Reading Data and Storing Data Operators","datePublished":"2018-05-07T10:00:46+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/"},"wordCount":874,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Apache-Pig-Reading-and-storing-data-01.jpg","keywords":["Load Operator","Load Operator and Store Operator","Pig Reading and Storing Data","Store Operator"],"articleSection":["Pig Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/","url":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/","name":"Apache Pig Reading Data and Storing Data Operators - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Apache-Pig-Reading-and-storing-data-01.jpg","datePublished":"2018-05-07T10:00:46+00:00","description":"Apache Pig reading data and storing data, Store operators, Load operators, Syntax, Terms, Usage and example of Store operator and Load operators","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Apache-Pig-Reading-and-storing-data-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Apache-Pig-Reading-and-storing-data-01.jpg","width":1200,"height":628,"caption":"Pig Reading and Storing Data"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/pig-reading-data-storing-data\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Pig Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/pig\/"},{"@type":"ListItem","position":3,"name":"Apache Pig Reading Data and Storing Data Operators"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team specializes in creating clear, actionable content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Backed by industry expertise, we make learning easy and career-oriented for beginners and pros alike.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam3\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=14236"}],"version-history":[{"count":0,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14236\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/35439"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=14236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=14236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=14236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}