2Agenda HCatalog Overview Sqoop HCatalog integration Goals Features DemoBenefits
3HCatalog Overview Table and Storage Management Service for Hadoop Enables PIG/MR and Hive to more easily share data on the gridUses the Hive Meta-store.Abstracts location and format of the dataSupports reading and writing files in any format for which there is a Hive Serde available.Now part of Hive.
4Sqoop HCatalog Integration Goals Support HCatalog features consistent with Sqoop usage.Support both imports into and exports from HCatalog tableEnable Sqoop read and write data in various formats.Automatic table schema mappingData fidelitySupport for static and dynamic partition keys
5Support imports and exports Allows the HCatalog tables to be either the source or destination of a Sqoop job.In an HCatalog import, target-dir and warehouse-dir are replaced with the HCatalog table name.Similarly for exports, the export directory is substituted with the HCatalog table name.
6File format supportHCatalog integration into Sqoop now enables Sqoop toImport/Export files of various formats that have hive serde createdTextfiles, Sequence files, RCFiles, ORCFile,…This makes Sqoop agnostic of the file format used which can change over time based on new innovations/needs.
7Automatic table schema mapping Sqoop allows a hive table to be created based on the enterprise data store schemaThis is enabled for HCatalog table imports as well.Automatic mapping with optional user overrides.Ability to provide a storage options for the newly created table.All HCatalog primitive types supported
8Data fidelityWith Text based imports (as in Sqoop hive-import option), the text values have to be massaged so that delimiters are not misinterpreted.Sqoop provides two options to handle this.--hive-delims-replacement--hive-drop-import-delimsError prone and data is modified to be stored on Hive
9Data fidelityWith HCatalog table imports to file formats like RCFile, ORCFile etc, there is no need to strip these delimiters in column values.Data is preserved without any massagingIf the target Hcatalog table file format is Text, then the two options can still be used as before.--hive-delims-replacement--hive-drop-import-delims
10Support for static and dynamic partitioning HCatalog tables partition keys can be dynamic or static.Static partitioning keys have values provided as part of the DML (known at Query compile time)Dynamic partitioning keys have values provided at execution time.Based on value of a column being imported
11Support for static and dynamic partitioning Both types of tables supported during import.Multiple partition keys per table are supported.Only one can be a static partition key can be specified (Sqoop restriction).Only table with one partitioning key can be automatically created.
12BenefitsFuture proof your Sqoop jobs by making them agnostic of file-formats usedRemove additional steps before taking data to the target table formatPreserve data contents
13Availability & Documentation Part of Sqoop releaseA chapter devoted to HCatalog integration in the User GuideURL: https://sqoop.apache.org/docs/1.4.4/SqoopUserGuide.html#_sqoop_hcatalog_integration