{"id":79619,"date":"2020-08-24T09:00:56","date_gmt":"2020-08-24T03:30:56","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=79619"},"modified":"2020-08-24T09:00:56","modified_gmt":"2020-08-24T03:30:56","slug":"apache-sqoop-export","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/","title":{"rendered":"Sqoop Export Files from HDFS to RDBMS"},"content":{"rendered":"<p>Similar to Sqoop Import, there is another tool named Sqoop Export in Sqoop, which is used for exporting a set of files from the HDFS back to the RDBMS. In this Sqoop Export article, you will explore the entire concept of Sqoop Export.<\/p>\n<p>The article will explain what Sqoop Export is, modes in which Sqoop Export works, its syntax, arguments, and many more. The article also covers the difference between the insert mode and update mode.<\/p>\n<p>Moreover, we will learn the Sqoop Export syntax with an example invocation to understand it better.<\/p>\n<p>Let us first start with an introduction to Sqoop Export.<\/p>\n<h3>What is Sqoop Export?<\/h3>\n<p>The Sqoop export tool is used for exporting a set of files from the Hadoop Distributed File System back to the RDBMS. For performing export, the target table must exist on the target database.<\/p>\n<p>The files given as an input to Apache Sqoop contain the records, which are called as rows in the table. These files are read and parsed into the set of records and delimited with the user-specified delimiter.<br \/>\nThe export command works in two modes- insert mode and update mode.<\/p>\n<p><strong>1. Insert mode:<\/strong> It is the default mode. In this mode, the records from the input files are inserted into the database table by using the INSERT statement.<br \/>\n<strong>2. Update mode:<\/strong> In the update mode, Sqoop generates an UPDATE statement that replaces existing records into the database.<\/p>\n<h4>Syntax for Sqoop Export<\/h4>\n<p>The Syntax for Sqoop Export are:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">$ sqoop export (generic-args) (export-args)<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">$ sqoop-export (generic-args) (export-args)<\/pre>\n<p>The Hadoop generic arguments should be passed before any export arguments, and we can enter export arguments in any order with respect to each other.<\/p>\n<p><strong>The common arguments are:<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Argument<\/b><\/td>\n<td><b>Description<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;connect &lt;jdbc-uri&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It specifies the JDBC connect string<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;connection-manager &lt;class-name&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It specifies the connection manager class to be used<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;driver &lt;class-name&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Manually specify JDBC driver class to use<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;hadoop-home &lt;dir&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Override $HADOOP_HOME<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;help<\/span><\/td>\n<td><span style=\"font-weight: 400\">Print usage instructions<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">-P<\/span><\/td>\n<td><span style=\"font-weight: 400\">Read the password from console<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;password &lt;password&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Set authentication password<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;username &lt;username&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Set authentication username<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;verbose<\/span><\/td>\n<td><span style=\"font-weight: 400\">Print more information while working<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;connection-param-file &lt;filename&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Optional properties file that provides connection parameters<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>The Export control arguments are:<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Argument<\/b><\/td>\n<td><b>Description<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;direct<\/span><\/td>\n<td><span style=\"font-weight: 400\">Use direct export fast path<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;export-dir &lt;dir&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It specifies the HDFS source path for export<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">-m,&#8211;num-mappers &lt;n&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Use <\/span><i><span style=\"font-weight: 400\">n<\/span><\/i><span style=\"font-weight: 400\"> map tasks to export in parallel<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;table &lt;table-name&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Table to populate<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;update-key &lt;col-name&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It specifies the anchor column to be used for updates. If there are more than one column, then we use the comma-separated list of columns.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;update-mode &lt;mode&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It will specify how the updates were performed when the new rows were found with the non-matching keys in a database. The updateonly and the allowinsert are the legal values for mode.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;input-null-string &lt;null-string&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It specify the string which is to be interpreted as null for string columns<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;input-null-non-string &lt;null-string&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It specify the string which is to be interpreted as null for non-string columns<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;staging-table &lt;staging-table-name&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It specifies the table in which the data will be staged before getting inserted into a destination table.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;clear-staging-table<\/span><\/td>\n<td><span style=\"font-weight: 400\">It indicates that any data which is present in the staging table can be deleted.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;batch<\/span><\/td>\n<td><span style=\"font-weight: 400\">It specifies to use the batch mode for the underlying statement execution.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>The arguments <strong>&#8211;table<\/strong> and the <strong>&#8211;export-dir<\/strong> are the required arguments. These two arguments specify the table to be populated in a database and the directory in the HDFS which contains the source data respectively.<\/li>\n<li>We can also control the number of mappers by using the <strong>&#8211;num-mappers<\/strong> or <strong>-m<\/strong> arguments.<\/li>\n<li>Also, MySQL provides the direct mode for exporting by using the mysqlimport tool. So for exporting to MySQL, we can use <strong>&#8211;direct<\/strong> argument which specifies this codepath. It has higher-performance than standard JDBC codepath.<\/li>\n<li>Apache Sqoop breaks export processes into multiple transactions. Sometimes if the export job failed, then it is possible that the failed export job may result in the partial data being committed to a database. This leads to the subsequent jobs failing due to the insert collisions in some cases. It may also lead to the duplicated data in others. We can overcome this issue by specifying the staging table through the argument <strong>&#8211;staging-table<\/strong>. This option acts as an auxiliary table which is used for staging the exported data. The staged data is moved to the destination table in the single transaction.<\/li>\n<li>For using the staging facility, we have to create the staging table before running the export job. The staging table has to be structurally identical to the target table. The staging table must be either empty before running the export job runs or we have to specify the <strong>&#8211;clear-staging-table<\/strong> option. In case, if the staging table contains some data and we have specified the <strong>&#8211;clear-staging-table<\/strong> option then Sqoop will automatically delete all of the table data before executing the export job.<\/li>\n<\/ul>\n<h3>Sqoop Inserts vs. Updates<\/h3>\n<p>The Sqoop-export, by default, appends the new rows to the table. Each input record is transformed into the INSERT statement, which adds a row to the target database table.<\/p>\n<p>If our table contains some constraints like the primary key column and already contains the data, then you have to take care to avoid the insertion of those records, which can violate these constraints.<\/p>\n<p>If an INSERT statement fails, then the export process will fail. This mode is primarily intended for exporting the records to the new, empty table, which is intended to receive these results.<\/p>\n<p>If we specify the argument <strong>&#8211;update-key<\/strong>, then Sqoop will instead modify the existing dataset in a database. Each input record is then treated as the UPDATE statement, which modifies the existing row.<\/p>\n<p>The row which needs to be modified is identified by using the column name(s) specified with the <strong>&#8211;update-key<\/strong>.<br \/>\nFor example, we have the following table definition:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">CREATE TABLE emp(\n  emp_id NOT NULL PRIMARY KEY, \nemp_name VARCHAR(32),   salary INT);\n<\/pre>\n<p>Also, consider the dataset in the HDFS which contains the records like these:<br \/>\n0,Ajay,40000<br \/>\n1,Raj,10000<br \/>\n&#8230;<br \/>\nOn running the command<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">sqoop-export --table emp --update-key emp_id --export-dir \/path\/to\/data --connect \u2026<\/pre>\n<p>will run the export job which executes the SQL statements based on the data like so:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">UPDATE emp SET emp_name='Ajay', salary=40000 WHERE emp_id=0;\nUPDATE emp SET emp_name='Raj', salary=10000 WHERE emp_id=0;\n...\n<\/pre>\n<p>If in case the UPDATE statement modifies no rows, then it is not considered as an error. Instead, the export will silently continue. This means that the update-based export will not insert the new rows into a database).<\/p>\n<p>Also, if the column specified via &#8211;<strong>-update-key<\/strong> doesn\u2019t uniquely identify the rows and the multiple rows get updated by the single statement, then this condition is also undetected.<\/p>\n<h3>Other Arguments<\/h3>\n<p><strong>The Input parsing arguments are:<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Argument<\/b><\/td>\n<td><b>Description<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;input-enclosed-by &lt;char&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sets a required field encloser<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;input-escaped-by &lt;char&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sets the input escape character<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;input-fields-terminated-by &lt;char&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sets the input field separator<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;input-lines-terminated-by &lt;char&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sets the input end-of-line character<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;input-optionally-enclosed-by &lt;char&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sets a field enclosing character<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>The Output line formatting arguments are:<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Argument<\/b><\/td>\n<td><b>Description<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;enclosed-by &lt;char&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It will set the required field enclosing character<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;escaped-by &lt;char&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It will set the escape character<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;fields-terminated-by &lt;char&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It will set the field separator character<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;lines-terminated-by &lt;char&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It will set the end-of-line character<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;mysql-delimiters<\/span><\/td>\n<td><span style=\"font-weight: 400\">Uses the MySQL\u2019s default delimiter set: fields: , lines: \\n escaped-by: \\ optionally-enclosed-by: &#8216;<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;optionally-enclosed-by &lt;char&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It will set the field enclosing character<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>The Code generation arguments are:<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Argument<\/b><\/td>\n<td><b>Description<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;bindir &lt;dir&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It will specify the output directory for the compiled objects<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;class-name &lt;name&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It will set the generated class name.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;jar-file &lt;file&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It will disable the code generation; use specified jar<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;outdir &lt;dir&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It will specify the output directory for the generated code<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;package-name &lt;name&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">It will put the auto-generated classes in the package specified<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">&#8211;map-column-java &lt;m&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Override the default mapping from the SQL type to the Java type for the configured columns.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Sqoop automatically generates the code for parsing and interpreting the records of the files which contain the data which is to be exported back to the database.<\/p>\n<p>If these files are created with the non-default delimiters, then you have to specify the same delimiters again so that Sqoop can parse your files.<\/p>\n<p>In case if you specify the incorrect delimiters, then Sqoop fails to find enough columns per line. This causes export map tasks to fail by throwing the ParseExceptions.<\/p>\n<h3>How does Sqoop Export work?<\/h3>\n<p>In Sqoop, the exports are performed by multiple writers in parallel. Each writer uses a separate connection with the database. These separate connections will have separate transactions from one another.<\/p>\n<p>Apache Sqoop uses multi-row INSERT syntax for inserting up to 100 records per statement. This ensures that the transaction buffers will not go out-of-bound, and thus does not cause out-of-memory conditions.<\/p>\n<p>Hence, a Sqoop export is not an atomic process. The partial results from export are visible before export is complete.<\/p>\n<h3>Sqoop Failed Exports<\/h3>\n<p>The Sqoop exports may get failed because of the following reasons:<\/p>\n<ul>\n<li>It may fail because of loss of connectivity from a Hadoop cluster to the database that may occur either due to server software crashes or hardware fault.<\/li>\n<li>It may fail while attempting to INSERT a row who violates the consistency constraints. For example, when trying to insert the duplicate primary key value.<\/li>\n<li>The Export job will fail if we are attempting to parse the incomplete or malformed record from HDFS source data<\/li>\n<li>It may fail while attempting to parse the records by using incorrect delimiters<\/li>\n<li>Export jobs can fail due to capacity issues like insufficient RAM or disk space.<\/li>\n<\/ul>\n<p>If the export map task fails due to any of these reasons, then it will result in export job failure. The failed export job results are undefined. Each sqoop export map task operates in the separate transaction.<\/p>\n<p>The individual map tasks commit their current transaction periodically. If the task fails, then the current transaction is rolled back. Any of the previously-committed transactions remains durable in a database, which leads to the partially-complete export.<\/p>\n<h3>Sqoop Export Example Invocations<\/h3>\n<p><strong>Example 1:<\/strong> In this example, we are trying a basic export to populate the table emp:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">$ sqoop export --connect jdbc:mysql:\/\/localhost\/demo_db --table emp  \\\n    --export-dir \/results\/emp_data\n<\/pre>\n<p>This example takes files in the <strong>\/results\/emp_data<\/strong> and injects their contents into the emp table in the demo database on localhost. Make sure that the target table already exists in a database.<\/p>\n<p><strong>Example 2:<\/strong> In this example, we are trying to perform basic export in order to populate a table named emp with the validation enabled:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">$ sqoop export --connect jdbc:mysql:\/\/localhost\/demo --table emp  \\\n    --export-dir \/results\/emp_data --validate\n<\/pre>\n<h3>Summary<\/h3>\n<p>I hope after reading this article, you clearly understand Sqoop Export. The Sqoop export tool is useful for exporting a set of files from the Hadoop Distributed File System back to the RDBMS. The article had clearly explained its syntax, arguments along with an example.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Similar to Sqoop Import, there is another tool named Sqoop Export in Sqoop, which is used for exporting a set of files from the HDFS back to the RDBMS. In this Sqoop Export article,&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":79663,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3163],"tags":[3175,3176,3177,3178],"class_list":["post-79619","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sqoop","tag-failed-sqoop-export","tag-introduction-to-sqoop-export","tag-sqoop-export","tag-sqoop-export-syntax"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Sqoop Export Files from HDFS to RDBMS - TechVidvan<\/title>\n<meta name=\"description\" content=\"Sqoop - Export - Learn how to export data back from the HDFS to the RDBMS database. To use &#039;export&#039; command, a table in database should already exist.\" \/>\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-sqoop-export\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sqoop Export Files from HDFS to RDBMS - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Sqoop - Export - Learn how to export data back from the HDFS to the RDBMS database. To use &#039;export&#039; command, a table in database should already exist.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/\" \/>\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-24T03:30:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/Sqoop-Export-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=\"8 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sqoop Export Files from HDFS to RDBMS - TechVidvan","description":"Sqoop - Export - Learn how to export data back from the HDFS to the RDBMS database. To use 'export' command, a table in database should already exist.","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-sqoop-export\/","og_locale":"en_US","og_type":"article","og_title":"Sqoop Export Files from HDFS to RDBMS - TechVidvan","og_description":"Sqoop - Export - Learn how to export data back from the HDFS to the RDBMS database. To use 'export' command, a table in database should already exist.","og_url":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2020-08-24T03:30:56+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/Sqoop-Export-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":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Sqoop Export Files from HDFS to RDBMS","datePublished":"2020-08-24T03:30:56+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/"},"wordCount":1781,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/Sqoop-Export-tv.jpg","keywords":["Failed Sqoop Export","Introduction to Sqoop Export","sqoop export","Sqoop Export Syntax"],"articleSection":["Sqoop Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/","url":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/","name":"Sqoop Export Files from HDFS to RDBMS - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/Sqoop-Export-tv.jpg","datePublished":"2020-08-24T03:30:56+00:00","description":"Sqoop - Export - Learn how to export data back from the HDFS to the RDBMS database. To use 'export' command, a table in database should already exist.","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/Sqoop-Export-tv.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/08\/Sqoop-Export-tv.jpg","width":1200,"height":628,"caption":"Sqoop Export"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/apache-sqoop-export\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Sqoop Export Files from HDFS to RDBMS"}]},{"@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\/79619","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=79619"}],"version-history":[{"count":0,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/79619\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/79663"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=79619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=79619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=79619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}