blob: 0172683035d56e8ec95958817d6d0e76269c125c [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<!-- Always force latest IE rendering engine or request Chrome Frame -->
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
<!-- Use title if it's in the page YAML frontmatter -->
<title>
Writing Data to HDFS |
Apache HAWQ (Incubating) Docs
</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
<link href="/stylesheets/print.css" rel="stylesheet" media="print" />
<link href='/images/favicon.ico' rel='shortcut icon'>
<script src="/javascripts/all.js"></script>
</head>
<body class="docs docs_userguide docs_userguide_2_3_0_0-incubating docs_userguide_2_3_0_0-incubating_pxf docs_userguide_2_3_0_0-incubating_pxf_HDFSWritablePXF has-subnav">
<div class="viewport">
<div class='wrap'>
<script type="text/javascript">
document.domain = "";
</script>
<header class="header header-layout">
<h1 class="logo">
<a href="/">Apache HAWQ (incubating) Documentation</a>
</h1>
<div class="header-links js-bar-links">
<div class="btn-menu" data-behavior="MenuMobile"></div>
<div class="header-item"><a href="http://hawq.incubator.apache.org/">Back to Apache HAWQ Page</a></div>
<div class="header-item">
<a href="https://issues.apache.org/jira/browse/HAWQ" target="_blank">Issues</a>
</div>
</div>
</header>
<div class="container">
<!--googleoff: index-->
<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
<a class="sidenav-title" data-behavior="SubMenuMobile"> Doc Index</a>
<div class="nav-content">
<ul>
<li>
Apache HAWQ (incubating)
</li>
<li><a href="/docs/userguide/2.3.0.0-incubating/requirements/system-requirements.html">System Requirements</a>
</li>
<li class="has_submenu">
<span>
HAWQ System Overview
</span>
<ul>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/overview/HAWQOverview.html">What is HAWQ?</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/overview/HAWQArchitecture.html">HAWQ Architecture</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/overview/TableDistributionStorage.html">Table Distribution and Storage</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/overview/ElasticSegments.html">Elastic Query Execution Runtime</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/overview/ResourceManagement.html">Resource Management</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/overview/HDFSCatalogCache.html">HDFS Catalog Cache</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/overview/ManagementTools.html">Management Tools</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/overview/RedundancyFailover.html">High Availability, Redundancy and Fault Tolerance</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/userguide/2.3.0.0-incubating/tutorial/overview.html">Getting Started with HAWQ Tutorial</a>
<ul>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/tutorial/gettingstarted/introhawqenv.html">Lesson 1 - Runtime Environment</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/tutorial/gettingstarted/basichawqadmin.html">Lesson 2 - Cluster Administration</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/tutorial/gettingstarted/basicdbadmin.html">Lesson 3 - Database Administration</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/tutorial/gettingstarted/dataandscripts.html">Lesson 4 - Sample Data Set and HAWQ Schemas</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/tutorial/gettingstarted/introhawqtbls.html">Lesson 5 - HAWQ Tables</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/tutorial/gettingstarted/intropxfhdfs.html">Lesson 6 - HAWQ Extension Framework (PXF)</a>
</li>
</ul>
</li>
<li class="has_submenu">
<span>
Running a HAWQ Cluster
</span>
<ul>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/RunningHAWQ.html">Overview</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/setuphawqopenv.html">Introducing the HAWQ Operating Environment</a>
</li>
<li class="has_submenu">
<a href="/docs/userguide/2.3.0.0-incubating/admin/ambari-admin.html">Managing HAWQ Using Ambari</a>
<ul>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/ambari-rest-api.html">Using the Ambari REST API</a>
</li>
</ul>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/startstop.html">Starting and Stopping HAWQ</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/ClusterExpansion.html">Expanding a Cluster</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/ClusterShrink.html">Removing a Node</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/BackingUpandRestoringHAWQDatabases.html">Backing Up and Restoring HAWQ</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/HighAvailability.html">High Availability in HAWQ</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/MasterMirroring.html">Master Mirroring</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/HAWQFilespacesandHighAvailabilityEnabledHDFS.html">HAWQ Filespaces and High Availability Enabled HDFS</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/FaultTolerance.html">Understanding the Fault Tolerance Service</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/RecommendedMonitoringTasks.html">Recommended Monitoring and Maintenance Tasks</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/maintain.html">Routine System Maintenance Tasks</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/monitor.html">Monitoring a HAWQ System</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/logfiles.html">HAWQ Administrative Log Files</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/admin/packcore.html">HAWQ Packcore Utility</a>
</li>
</ul>
</li>
<li class="has_submenu">
<span>
Managing Resources
</span>
<ul>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/resourcemgmt/HAWQResourceManagement.html">How HAWQ Manages Resources</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/resourcemgmt/best-practices.html">Best Practices for Configuring Resource Management</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/resourcemgmt/ConfigureResourceManagement.html">Configuring Resource Management</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/resourcemgmt/YARNIntegration.html">Integrating YARN with HAWQ</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/resourcemgmt/ResourceQueues.html">Working with Hierarchical Resource Queues</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/resourcemgmt/ResourceManagerStatus.html">Analyzing Resource Manager Status</a>
</li>
</ul>
</li>
<li class="has_submenu">
<span>
Managing Client Access
</span>
<ul>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/client_auth.html">Configuring Client Authentication</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/ldap.html">Using LDAP Authentication with TLS/SSL</a>
</li>
<li class="has_submenu">
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/kerberos.html">Using Kerberos Authentication</a>
<ul>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/kerberos-securehdfs.html">Configuring HAWQ/PXF for Secure HDFS</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/kerberos-userauth.html">Configuring Kerberos User Authentication for HAWQ</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/kerberos-mitkdc.html">Example - Setting up an MIT KDC Server</a>
</li>
</ul>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/disable-kerberos.html">Disabling Kerberos Security</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/hawq-access-checks.html">Overview of HAWQ Authorization</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/roles_privs.html">Using HAWQ Native Authorization</a>
</li>
<li class="has_submenu">
<span>
Using Ranger for Authorization
</span>
<ul>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ranger/ranger-overview.html">Overview of Ranger Policy Management</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ranger/ranger-integration-config.html">Configuring HAWQ to use Ranger Policy Management</a>
</li>
<li class="has_submenu">
<a href="/docs/userguide/2.3.0.0-incubating/ranger/ranger-policy-creation.html">Creating HAWQ Authorization Policies in Ranger</a>
<ul>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ranger/ranger-resource-perms.html">HAWQ Resources and Permissions</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ranger/ranger-sqlcmd-summary.html">SQL Command Permissions Summary</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ranger/madlib-ranger.html">Using MADLib with Ranger Authorization</a>
</li>
</ul>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ranger/ranger-auditing.html">Auditing Authorization Events</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ranger/ranger-ha.html">High Availability and HAWQ Ranger</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ranger/ranger-kerberos.html">HAWQ Ranger Kerberos Integration</a>
</li>
</ul>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/g-establishing-a-database-session.html">Establishing a Database Session</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/g-hawq-database-client-applications.html">HAWQ Client Applications</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/g-connecting-with-psql.html">Connecting with psql</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/g-database-application-interfaces.html">HAWQ Database Drivers and APIs</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/clientaccess/g-troubleshooting-connection-problems.html">Troubleshooting Connection Problems</a>
</li>
</ul>
</li>
<li class="has_submenu">
<span>
Defining Database Objects
</span>
<ul>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ddl/ddl.html">Overview</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ddl/ddl-database.html">Creating and Managing Databases</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ddl/ddl-tablespace.html">Creating and Managing Tablespaces</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ddl/ddl-schema.html">Creating and Managing Schemas</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ddl/ddl-table.html">Creating and Managing Tables</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ddl/locate-table-hdfs.html"> Identifying HAWQ Table HDFS Files</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ddl/ddl-storage.html">Choosing the Table Storage Model</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ddl/ddl-partition.html">Partitioning Large Tables</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/ddl/ddl-view.html">Creating and Managing Views</a>
</li>
</ul>
</li>
<li class="has_submenu">
<span>
Using Procedural Languages
</span>
<ul>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/plext/UsingProceduralLanguages.html">Using Languages in HAWQ</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/plext/builtin_langs.html">Using HAWQ Built-In Languages</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/plext/using_pljava.html">Using PL/Java</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/plext/using_plpgsql.html">Using PL/pgSQL</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/plext/using_plpython.html">Using PL/Python</a>
</li>
<li>
<a href="/docs/userguide/2.3.0.0-incubating/plext/using_plr.html">Using PL/R</a>
</li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/dml.html">Managing Data with HAWQ</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/BasicDataOperations.html">Basic Data Operations</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/about_statistics.html">About Database Statistics</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/ConcurrencyControl.html">Concurrency Control</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/Transactions.html">Working with Transactions</a></li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-loading-and-unloading-data.html">Loading and Unloading Data</a>
<ul>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-working-with-file-based-ext-tables.html">Working with File-Based External Tables</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-external-tables.html">Accessing File-Based External Tables</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-gpfdist-protocol.html">gpfdist Protocol</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-gpfdists-protocol.html">gpfdists Protocol</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-handling-errors-ext-table-data.html">Handling Errors in External Table Data</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-using-the-hawq-file-server--gpfdist-.html">Using the HAWQ File Server (gpfdist)</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-about-gpfdist-setup-and-performance.html">About gpfdist Setup and Performance</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-controlling-segment-parallelism.html">Controlling Segment Parallelism</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-installing-gpfdist.html">Installing gpfdist</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-starting-and-stopping-gpfdist.html">Starting and Stopping gpfdist</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-troubleshooting-gpfdist.html">Troubleshooting gpfdist</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-creating-and-using-web-external-tables.html">Creating and Using Web External Tables</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-command-based-web-external-tables.html">Command-based Web External Tables</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-url-based-web-external-tables.html">URL-based Web External Tables</a></li>
</ul>
</li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-loading-data-using-an-external-table.html">Loading Data Using an External Table</a></li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-loading-and-writing-non-hdfs-custom-data.html">Loading and Writing Non-HDFS Custom Data</a>
<ul>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-using-a-custom-format.html">Using a Custom Format</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-importing-and-exporting-fixed-width-data.html">Importing and Exporting Fixed Width Data</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-examples-read-fixed-width-data.html">Examples - Read Fixed-Width Data</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/creating-external-tables-examples.html">Creating External Tables - Examples</a>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-handling-load-errors.html">Handling Load Errors</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-define-an-external-table-with-single-row-error-isolation.html">Define an External Table with Single Row Error Isolation</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-create-an-error-table-and-declare-a-reject-limit.html">Capture Row Formatting Errors and Declare a Reject Limit </a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-identifying-invalid-csv-files-in-error-table-data.html">Identifying Invalid CSV Files in Error Table Data</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-moving-data-between-tables.html">Moving Data between Tables</a></li>
</ul>
</li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-register_files.html">Registering Files into HAWQ Internal Tables</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-loading-data-with-hawqload.html">Loading Data with hawq load</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-loading-data-with-copy.html">Loading Data with COPY</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-running-copy-in-single-row-error-isolation-mode.html">Running COPY in Single Row Error Isolation Mode</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-optimizing-data-load-and-query-performance.html">Optimizing Data Load and Query Performance</a></li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-unloading-data-from-hawq-database.html">Unloading Data from HAWQ</a>
<ul>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-defining-a-file-based-writable-external-table.html">Defining a File-Based Writable External Table</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-example-hawq-file-server-gpfdist.html">Example - HAWQ file server (gpfdist)</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-defining-a-command-based-writable-external-web-table.html">Defining a Command-Based Writable External Web Table</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-disabling-execute-for-web-or-writable-external-tables.html">Disabling EXECUTE for Web or Writable External Tables</a></li>
</ul>
</li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-unloading-data-using-a-writable-external-table.html">Unloading Data Using a Writable External Table</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-unloading-data-using-copy.html">Unloading Data Using COPY</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-transforming-xml-data.html">Transforming XML Data</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-determine-the-transformation-schema.html">Determine the Transformation Schema</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-write-a-transform.html">Write a Transform</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-write-the-gpfdist-configuration.html">Write the gpfdist Configuration</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-load-the-data.html">Load the Data</a></li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-transfer-and-store-the-data.html">Transfer and Store the Data</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-transforming-with-gpload.html">Transforming with GPLOAD</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-transforming-with-insert-into-select-from.html">Transforming with INSERT INTO SELECT FROM</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-configuration-file-format.html">Configuration File Format</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-xml-transformation-examples.html">XML Transformation Examples</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-example-1-dblp-database-publications-in-demo-directory.html">Command-based Web External Tables</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-example-irs-mef-xml-files-in-demo-directory.html">Example using IRS MeF XML Files (In demo Directory)</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-example-witsml-files-in-demo-directory.html">Example using WITSML™ Files (In demo Directory)</a></li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-formatting-data-files.html">Formatting Data Files</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-formatting-rows.html">Formatting Rows</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-formatting-columns.html">Formatting Columns</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-representing-null-values.html">Representing NULL Values</a></li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-escaping.html">Escaping</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-escaping-in-text-formatted-files.html">Escaping in Text Formatted Files</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-escaping-in-csv-formatted-files.html">Escaping in CSV Formatted Files</a></li>
</ul>
</li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/load/g-character-encoding.html">Character Encoding</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="/docs/userguide/2.3.0.0-incubating/datamgmt/HAWQInputFormatforMapReduce.html">HAWQ InputFormat for MapReduce</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/pxf/HawqExtensionFrameworkPXF.html">Using PXF with Unmanaged Data</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/pxf/InstallPXFPlugins.html">Installing PXF Plugins</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/pxf/ConfigurePXF.html">Configuring PXF</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/pxf/HDFSFileDataPXF.html">Accessing HDFS File Data</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/pxf/HivePXF.html">Accessing Hive Data</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/pxf/HBasePXF.html">Accessing HBase Data</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/pxf/JsonPXF.html">Accessing JSON Data</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/pxf/JdbcPXF.html">Accessing External SQL Databases</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/pxf/HDFSWritablePXF.html">Writing Data to HDFS</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/pxf/ReadWritePXF.html">Using Profiles to Read and Write Data</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/pxf/PXFExternalTableandAPIReference.html">PXF External Tables and API</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/pxf/TroubleshootingPXF.html">Troubleshooting PXF</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/query/query.html">Querying Data</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/HAWQQueryProcessing.html">About HAWQ Query Processing</a></li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/query/gporca/query-gporca-optimizer.html">About GPORCA</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/gporca/query-gporca-overview.html">Overview of GPORCA</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/gporca/query-gporca-features.html">GPORCA Features and Enhancements</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/gporca/query-gporca-enable.html">Enabling GPORCA</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/gporca/query-gporca-notes.html">Considerations when Using GPORCA</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/gporca/query-gporca-fallback.html">Determining The Query Optimizer In Use</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/gporca/query-gporca-changed.html">Changed Behavior with GPORCA</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/gporca/query-gporca-limitations.html">GPORCA Limitations</a></li>
</ul>
</li>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/defining-queries.html">Defining Queries</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/functions-operators.html">Using Functions and Operators</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/query-performance.html">Query Performance</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/query/query-profiling.html">Query Profiling</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/bestpractices/HAWQBestPracticesOverview.html">Best Practices</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/bestpractices/config_hawq_bestpractices.html">Configuring HAWQ</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/bestpractices/operating_hawq_bestpractices.html">Operating HAWQ</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/bestpractices/secure_bestpractices.html">Securing HAWQ</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/bestpractices/managing_resources_bestpractices.html">Managing Resources</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/bestpractices/managing_data_bestpractices.html">Managing Data</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/bestpractices/querying_data_bestpractices.html">Querying Data</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/troubleshooting/Troubleshooting.html">Troubleshooting</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/troubleshooting/Troubleshooting.html#topic_dwd_rnx_15">Query Performance Issues</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/troubleshooting/Troubleshooting.html#topic_vm5_znx_15">Rejection of Query Resource Requests</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/troubleshooting/Troubleshooting.html#topic_qq4_rkl_wv">Queries Cancelled Due to High VMEM Usage</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/troubleshooting/Troubleshooting.html#topic_hlj_zxx_15">Segments Do Not Appear in gp_segment_configuration</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/troubleshooting/Troubleshooting.html#topic_mdz_q2y_15">Handling Segment Resource Fragmentation</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/reference/hawq-reference.html">HAWQ Reference</a>
<ul>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/reference/SQLCommandReference.html">SQL Commands</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ABORT.html">ABORT</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-AGGREGATE.html">ALTER AGGREGATE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-CONVERSION.html">ALTER CONVERSION</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-DATABASE.html">ALTER DATABASE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-FUNCTION.html">ALTER FUNCTION</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-OPERATOR.html">ALTER OPERATOR</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-OPERATOR-CLASS.html">ALTER OPERATOR CLASS</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-RESOURCE-QUEUE.html">ALTER RESOURCE QUEUE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-ROLE.html">ALTER ROLE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-SEQUENCE.html">ALTER SEQUENCE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-TABLE.html">ALTER TABLE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-TABLESPACE.html">ALTER TABLESPACE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-TYPE.html">ALTER TYPE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ALTER-USER.html">ALTER USER</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ANALYZE.html">ANALYZE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/BEGIN.html">BEGIN</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CHECKPOINT.html">CHECKPOINT</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CLOSE.html">CLOSE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/COMMIT.html">COMMIT</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/COPY.html">COPY</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-AGGREGATE.html">CREATE AGGREGATE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-CAST.html">CREATE CAST</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-CONVERSION.html">CREATE CONVERSION</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-DATABASE.html">CREATE DATABASE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-EXTERNAL-TABLE.html">CREATE EXTERNAL TABLE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-FUNCTION.html">CREATE FUNCTION</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-GROUP.html">CREATE GROUP</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-LANGUAGE.html">CREATE LANGUAGE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-OPERATOR.html">CREATE OPERATOR</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-OPERATOR-CLASS.html">CREATE OPERATOR CLASS</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-RESOURCE-QUEUE.html">CREATE RESOURCE QUEUE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-ROLE.html">CREATE ROLE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-SCHEMA.html">CREATE SCHEMA</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-SEQUENCE.html">CREATE SEQUENCE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-TABLE.html">CREATE TABLE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-TABLE-AS.html">CREATE TABLE AS</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-TABLESPACE.html">CREATE TABLESPACE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-TYPE.html">CREATE TYPE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-USER.html">CREATE USER</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-VIEW.html">CREATE VIEW</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DEALLOCATE.html">DEALLOCATE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DECLARE.html">DECLARE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-AGGREGATE.html">DROP AGGREGATE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-CAST.html">DROP CAST</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-CONVERSION.html">DROP CONVERSION</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-DATABASE.html">DROP DATABASE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-EXTERNAL-TABLE.html">DROP EXTERNAL TABLE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-FILESPACE.html">DROP FILESPACE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-FUNCTION.html">DROP FUNCTION</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-GROUP.html">DROP GROUP</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-LANGUAGE.html">DROP LANGUAGE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-OPERATOR.html">DROP OPERATOR</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-OPERATOR-CLASS.html">DROP OPERATOR CLASS</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-OWNED.html">DROP OWNED</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-RESOURCE-QUEUE.html">DROP RESOURCE QUEUE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-ROLE.html">DROP ROLE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-SCHEMA.html">DROP SCHEMA</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-SEQUENCE.html">DROP SEQUENCE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-TABLE.html">DROP TABLE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-TABLESPACE.html">DROP TABLESPACE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-TYPE.html">DROP TYPE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-USER.html">DROP USER</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/DROP-VIEW.html">DROP VIEW</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/END.html">END</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/EXECUTE.html">EXECUTE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/EXPLAIN.html">EXPLAIN</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/FETCH.html">FETCH</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/GRANT.html">GRANT</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/INSERT.html">INSERT</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/PREPARE.html">PREPARE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/REASSIGN-OWNED.html">REASSIGN OWNED</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/RELEASE-SAVEPOINT.html">RELEASE SAVEPOINT</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/RESET.html">RESET</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/REVOKE.html">REVOKE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ROLLBACK.html">ROLLBACK</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/ROLLBACK-TO-SAVEPOINT.html">ROLLBACK TO SAVEPOINT</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/SAVEPOINT.html">SAVEPOINT</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/SELECT.html">SELECT</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/SELECT-INTO.html">SELECT INTO</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/SET.html">SET</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/SET-ROLE.html">SET ROLE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/SET-SESSION-AUTHORIZATION.html">SET SESSION AUTHORIZATION</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/SHOW.html">SHOW</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/TRUNCATE.html">TRUNCATE</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/sql/VACUUM.html">VACUUM</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/reference/HAWQSiteConfig.html">Server Configuration Parameter Reference</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_config.html">About Server Configuration Parameters</a></li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html">Configuration Parameter Categories</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic_hfd_1tl_zp">Append-Only Table Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic39">Client Connection Default Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic12">Connection and Authentication Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic47">Database and Tablespace/Filespace Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic29">Error Reporting and Logging Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic45">External Table Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic57">GPORCA Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic49">HAWQ Array Configuration Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic_pxfparam">HAWQ Extension Framework (PXF) Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic56">HAWQ PL/Java Extension Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#hawq_resource_management">HAWQ Resource Management Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic43">Lock Management Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic48">Past PostgreSQL Version Compatibility Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic21">Query Tuning Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#ranger_related">Ranger Configuration Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#statistics_collection">Statistics Collection Parameters</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/guc_category-list.html#topic15">System Resource Consumption Parameters</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html">Configuration Parameters</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#add_missing_from">add_missing_from</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#application_name">application_name</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#array_nulls">array_nulls</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#authentication_timeout">authentication_timeout</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#backslash_quote">backslash_quote</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#block_size">block_size</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#bonjour_name">bonjour_name</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#check_function_bodies">check_function_bodies</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#client_encoding">client_encoding</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#client_min_messages">client_min_messages</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#cpu_index_tuple_cost">cpu_index_tuple_cost</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#cpu_operator_cost">cpu_operator_cost</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#cpu_tuple_cost">cpu_tuple_cost</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#cursor_tuple_fraction">cursor_tuple_fraction</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#custom_variable_classes">custom_variable_classes</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#DateStyle">DateStyle</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#db_user_namespace">db_user_namespace</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#deadlock_timeout">deadlock_timeout</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#debug_assertions">debug_assertions</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#debug_pretty_print">debug_pretty_print</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#debug_print_parse">debug_print_parse</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#debug_print_plan">debug_print_plan</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#debug_print_prelim_plan">debug_print_prelim_plan</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#debug_print_rewritten">debug_print_rewritten</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#debug_print_slice_table">debug_print_slice_table</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#topic_fqj_4fd_kv">default_hash_table_bucket_number</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#default_statistics_target">default_statistics_target</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#default_tablespace">default_tablespace</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#default_transaction_isolation">default_transaction_isolation</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#default_transaction_read_only">default_transaction_read_only</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#dynamic_library_path">dynamic_library_path</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#effective_cache_size">effective_cache_size</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#enable_bitmapscan">enable_bitmapscan</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#enable_groupagg">enable_groupagg</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#enable_hashagg">enable_hashagg</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#enable_hashjoin">enable_hashjoin</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#enable_indexscan">enable_indexscan</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#enable_mergejoin">enable_mergejoin</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#enable_nestloop">enable_nestloop</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#enable_seqscan">enable_seqscan</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#enable_sort">enable_sort</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#enable_tidscan">enable_tidscan</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#escape_string_warning">escape_string_warning</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#explain_pretty_print">explain_pretty_print</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#extra_float_digits">extra_float_digits</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#from_collapse_limit">from_collapse_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_adjust_selectivity_for_outerjoins">gp_adjust_selectivity_for_outerjoins</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_analyze_relative_error">gp_analyze_relative_error</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_autostats_mode">gp_autostats_mode</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#topic_imj_zhf_gw">gp_autostats_on_change_threshhold</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_backup_directIO">gp_backup_directIO</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_backup_directIO_read_chunk_mb">gp_backup_directIO_read_chunk_mb</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_cached_segworkers_threshold">gp_cached_segworkers_threshold</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_command_count">gp_command_count</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_connections_per_thread">gp_connections_per_thread</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_debug_linger">gp_debug_linger</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_dynamic_partition_pruning">gp_dynamic_partition_pruning</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_agg_distinct">gp_enable_agg_distinct</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_agg_distinct_pruning">gp_enable_agg_distinct_pruning</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_direct_dispatch">gp_enable_direct_dispatch</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_fallback_plan">gp_enable_fallback_plan</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_fast_sri">gp_enable_fast_sri</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_groupext_distinct_gather">gp_enable_groupext_distinct_gather</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_groupext_distinct_pruning">gp_enable_groupext_distinct_pruning</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_multiphase_agg">gp_enable_multiphase_agg</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_predicate_propagation">gp_enable_predicate_propagation</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_preunique">gp_enable_preunique</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_sequential_window_plans">gp_enable_sequential_window_plans</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_sort_distinct">gp_enable_sort_distinct</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_enable_sort_limit">gp_enable_sort_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_external_enable_exec">gp_external_enable_exec</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_external_grant_privileges">gp_external_grant_privileges</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_external_max_segs">gp_external_max_segs</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_filerep_tcp_keepalives_count">gp_filerep_tcp_keepalives_count</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_filerep_tcp_keepalives_idle">gp_filerep_tcp_keepalives_idle</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_filerep_tcp_keepalives_interval">gp_filerep_tcp_keepalives_interval</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_hashjoin_tuples_per_bucket">gp_hashjoin_tuples_per_bucket</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_idf_deduplicate">gp_idf_deduplicate</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_cache_future_packets">gp_interconnect_cache_future_packets</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_default_rtt">gp_interconnect_default_rtt</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_fc_method">gp_interconnect_fc_method</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_hash_multiplier">gp_interconnect_hash_multiplier</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_min_retries_before_timeout">gp_interconnect_min_retries_before_timeout</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_min_rto">gp_interconnect_min_rto</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_queue_depth">gp_interconnect_queue_depth</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_setup_timeout">gp_interconnect_setup_timeout</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_snd_queue_depth">gp_interconnect_snd_queue_depth</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_timer_checking_period">gp_interconnect_timer_checking_period</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_timer_period">gp_interconnect_timer_period</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_interconnect_type">gp_interconnect_type</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_log_format">gp_log_format</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_max_csv_line_length">gp_max_csv_line_length</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_max_databases">gp_max_databases</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_max_filespaces">gp_max_filespaces</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_max_packet_size">gp_max_packet_size</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_max_plan_size">gp_max_plan_size</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_max_tablespaces">gp_max_tablespaces</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_motion_cost_per_row">gp_motion_cost_per_row</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_reject_percent_threshold">gp_reject_percent_threshold</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_reraise_signal">gp_reraise_signal</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_role">gp_role</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_safefswritesize">gp_safefswritesize</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_segment_connect_timeout">gp_segment_connect_timeout</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_segments_for_planner">gp_segments_for_planner</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_session_id">gp_session_id</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_set_proc_affinity">gp_set_proc_affinity</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_set_read_only">gp_set_read_only</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_statistics_pullup_from_child_partition">gp_statistics_pullup_from_child_partition</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_statistics_use_fkeys">gp_statistics_use_fkeys</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_vmem_idle_resource_timeout">gp_vmem_idle_resource_timeout</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_vmem_protect_segworker_cache_limit">gp_vmem_protect_segworker_cache_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_workfile_checksumming">gp_workfile_checksumming</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_workfile_compress_algorithm">gp_workfile_compress_algorithm</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_workfile_limit_files_per_query">gp_workfile_limit_files_per_query</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_workfile_limit_per_query">gp_workfile_limit_per_query</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#gp_workfile_limit_per_segment">gp_workfile_limit_per_segment</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_acl_type">hawq_acl_type</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_dfs_url">hawq_dfs_url</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_global_rm_type">hawq_global_rm_type</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_master_address_host">hawq_master_address_host</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_master_address_port">hawq_master_address_port</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_master_directory">hawq_master_directory</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_master_temp_directory">hawq_master_temp_directory</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_re_memory_overcommit_max">hawq_re_memory_overcommit_max</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_cluster_report">hawq_rm_cluster_report_period</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_force_alterqueue_cancel_queued_request">hawq_rm_force_alterqueue_cancel_queued_request</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_master_port">hawq_rm_master_port</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_memory_limit_perseg">hawq_rm_memory_limit_perseg</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_min_resource_perseg">hawq_rm_min_resource_perseg</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_nresqueue_limit">hawq_rm_nresqueue_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_nslice_perseg_limit">hawq_rm_nslice_perseg_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_nvcore_limit_perseg">hawq_rm_nvcore_limit_perseg</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_nvseg_perquery_limit">hawq_rm_nvseg_perquery_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_nvseg_perquery_perseg_limit">hawq_rm_nvseg_perquery_perseg_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_nvseg_variance_amon_seg_limit">hawq_rm_nvseg_variance_amon_seg_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_rejectrequest_nseg_limit">hawq_rm_rejectrequest_nseg_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_resource_idle_timeout">hawq_rm_resource_idle_timeout</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_return_percent_on_overcommit">hawq_rm_return_percent_on_overcommit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_segment_heartbeat_interval">hawq_rm_segment_heartbeat_interval</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_segment_port">hawq_rm_segment_port</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_stmt_nvseg">hawq_rm_stmt_nvseg</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_stmt_vseg_memory">hawq_rm_stmt_vseg_memory</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_tolerate_nseg_limit">hawq_rm_tolerate_nseg_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_yarn_address">hawq_rm_yarn_address</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_yarn_app_name">hawq_rm_yarn_app_name</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_yarn_queue_name">hawq_rm_yarn_queue_name</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rm_yarn_scheduler_address">hawq_rm_yarn_scheduler_address</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rps_address_port">hawq_rps_address_port</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_rps_check_local_interval">hawq_rps_check_local_interval</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_segment_address_port">hawq_segment_address_port</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_segment_directory">hawq_segment_directory</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#hawq_segment_temp_directory">hawq_segment_temp_directory</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#integer_datetimes">integer_datetimes</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#IntervalStyle">IntervalStyle</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#join_collapse_limit">join_collapse_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#krb_caseins_users">krb_caseins_users</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#krb_server_keyfile">krb_server_keyfile</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#krb_srvname">krb_srvname</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#lc_collate">lc_collate</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#lc_ctype">lc_ctype</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#lc_messages">lc_messages</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#lc_monetary">lc_monetary</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#lc_numeric">lc_numeric</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#lc_time">lc_time</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#listen_addresses">listen_addresses</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#local_preload_libraries">local_preload_libraries</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_autostats">log_autostats</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_connections">log_connections</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_disconnections">log_disconnections</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_dispatch_stats">log_dispatch_stats</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_duration">log_duration</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_error_verbosity">log_error_verbosity</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_executor_stats">log_executor_stats</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_hostname">log_hostname</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_min_duration_statement">log_min_duration_statement</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_min_error_statement">log_min_error_statement</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_min_messages">log_min_messages</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_parser_stats">log_parser_stats</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_planner_stats">log_planner_stats</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_rotation_age">log_rotation_age</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_rotation_size">log_rotation_size</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_statement">log_statement</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_statement_stats">log_statement_stats</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_timezone">log_timezone</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#log_truncate_on_rotation">log_truncate_on_rotation</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#max_appendonly_tables">max_appendonly_tables</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#max_connections">max_connections</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#max_files_per_process">max_files_per_process</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#max_fsm_pages">max_fsm_pages</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#max_fsm_relations">max_fsm_relations</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#max_function_args">max_function_args</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#max_identifier_length">max_identifier_length</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#max_index_keys">max_index_keys</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#max_locks_per_transaction">max_locks_per_transaction</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#max_prepared_transactions">max_prepared_transactions</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#max_stack_depth">max_stack_depth</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#optimizer">optimizer</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#optimizer_analyze_root_partition">optimizer_analyze_root_partition</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#optimizer_minidump">optimizer_minidump</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#optimizer_parts_to_force_sort_on_insert">optimizer_parts_to_force_sort_on_insert</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#optimizer_prefer_scalar_dqa_multistage_agg">optimizer_prefer_scalar_dqa_multistage_agg</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#password_encryption">password_encryption</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pgstat_track_activity_query_size">pgstat_track_activity_query_size</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pljava_classpath">pljava_classpath</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pljava_statement_cache_size">pljava_statement_cache_size</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pljava_release_lingering_savepoints">pljava_release_lingering_savepoints</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pljava_vmoptions">pljava_vmoptions</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#port">port</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pxf_enable_filter_pushdown">pxf_enable_filter_pushdown</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pxf_enable_stat_collection">pxf_enable_stat_collection</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pxf_remote_service_login">pxf_remote_service_login</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pxf_remote_service_secret">pxf_remote_service_secret</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pxf_service_address">pxf_service_address</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pxf_service_port">pxf_service_port</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#pxf_stat_max_fragments">pxf_stat_max_fragments</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#random_page_cost">random_page_cost</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#regex_flavor">regex_flavor</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#runaway_detector_activation_percent">runaway_detector_activation_percent</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#search_path">search_path</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#seg_max_connections">seg_max_connections</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#seq_page_cost">seq_page_cost</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#server_encoding">server_encoding</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#server_ticket_renew_interval">server_ticket_renew_interval</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#server_version">server_version</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#server_version_num">server_version_num</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#shared_buffers">shared_buffers</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#shared_preload_libraries">shared_preload_libraries</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#ssl">ssl</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#ssl_ciphers">ssl_ciphers</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#standard_conforming_strings">standard_conforming_strings</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#statement_timeout">statement_timeout</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#superuser_reserved_connections">superuser_reserved_connections</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#tcp_keepalives_count">tcp_keepalives_count</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#tcp_keepalives_idle">tcp_keepalives_idle</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#tcp_keepalives_interval">tcp_keepalives_interval</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#temp_buffers">temp_buffers</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#TimeZone">TimeZone</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#timezone_abbreviations">timezone_abbreviations</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#track_activities">track_activities</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#track_counts">track_counts</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#transaction_isolation">transaction_isolation</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#transaction_read_only">transaction_read_only</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#transform_null_equals">transform_null_equals</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#unix_socket_directory">unix_socket_directory</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#unix_socket_group">unix_socket_group</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#unix_socket_permissions">unix_socket_permissions</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#update_process_title">update_process_title</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#vacuum_cost_delay">vacuum_cost_delay</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#vacuum_cost_limit">vacuum_cost_limit</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#vacuum_cost_page_dirty">vacuum_cost_page_dirty</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#vacuum_cost_page_miss">vacuum_cost_page_miss</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#vacuum_freeze_min_age">vacuum_freeze_min_age</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/guc/parameter_definitions.html#xid_stop_limit">xid_stop_limit</a></li>
</ul>
</li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/HAWQSampleSiteConfig.html">Sample hawq-site.xml Configuration File</a></li>
</ul>
</li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/HDFSConfigurationParameterReference.html">HDFS Configuration Reference</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/HAWQEnvironmentVariables.html">Environment Variables</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/CharacterSetSupportReference.html">Character Set Support Reference</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/HAWQDataTypes.html">Data Types</a></li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/catalog_ref.html">System Catalog Reference</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/catalog_ref-tables.html">System Tables</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/catalog_ref-views.html">System Views</a></li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/catalog_ref-html.html">System Catalogs Definitions</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_configuration_history.html">gp_configuration_history</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_distribution_policy.html">gp_distribution_policy</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_global_sequence.html">gp_global_sequence</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_master_mirroring.html">gp_master_mirroring</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_persistent_database_node.html">gp_persistent_database_node</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_persistent_filespace_node.html">gp_persistent_filespace_node</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_persistent_relation_node.html">gp_persistent_relation_node</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_persistent_relfile_node.html">gp_persistent_relfile_node</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_persistent_tablespace_node.html">gp_persistent_tablespace_node</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_relfile_node.html">gp_relfile_node</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_segment_configuration.html">gp_segment_configuration</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/gp_version_at_initdb.html">gp_version_at_initdb</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_aggregate.html">pg_aggregate</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_am.html">pg_am</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_amop.html">pg_amop</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_amproc.html">pg_amproc</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_appendonly.html">pg_appendonly</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_attrdef.html">pg_attrdef</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_attribute.html">pg_attribute</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_attribute_encoding.html">pg_attribute_encoding</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_auth_members.html">pg_auth_members</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_authid.html">pg_authid</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_cast.html">pg_cast</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_class.html">pg_class</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_compression.html">pg_compression</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_constraint.html">pg_constraint</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_conversion.html">pg_conversion</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_database.html">pg_database</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_depend.html">pg_depend</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_description.html">pg_description</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_exttable.html">pg_exttable</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_filespace.html">pg_filespace</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_filespace_entry.html">pg_filespace_entry</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_index.html">pg_index</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_inherits.html">pg_inherits</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_language.html">pg_language</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_largeobject.html">pg_largeobject</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_listener.html">pg_listener</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_locks.html">pg_locks</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_namespace.html">pg_namespace</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_opclass.html">pg_opclass</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_operator.html">pg_operator</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_partition.html">pg_partition</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_partition_columns.html">pg_partition_columns</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_partition_encoding.html">pg_partition_encoding</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_partition_rule.html">pg_partition_rule</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_partition_templates.html">pg_partition_templates</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_partitions.html">pg_partitions</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_pltemplate.html">pg_pltemplate</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_proc.html">pg_proc</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_resqueue.html">pg_resqueue</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_resqueue_status.html">pg_resqueue_status</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_rewrite.html">pg_rewrite</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_roles.html">pg_roles</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_shdepend.html">pg_shdepend</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_shdescription.html">pg_shdescription</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_stat_activity.html">pg_stat_activity</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_stat_last_operation.html">pg_stat_last_operation</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_stat_last_shoperation.html">pg_stat_last_shoperation</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_stat_operations.html">pg_stat_operations</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_stat_partition_operations.html">pg_stat_partition_operations</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_statistic.html">pg_statistic</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_stats.html">pg_stats</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_tablespace.html">pg_tablespace</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_trigger.html">pg_trigger</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_type.html">pg_type</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_type_encoding.html">pg_type_encoding</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/catalog/pg_window.html">pg_window</a></li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/reference/toolkit/hawq_toolkit.html">The hawq_toolkit Administrative Schema</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/toolkit/hawq_toolkit.html#topic2">Checking for Tables that Need Routine Maintenance</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/toolkit/hawq_toolkit.html#topic16">Viewing HAWQ Server Log Files</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/toolkit/hawq_toolkit.html#topic38">Checking Database Object Sizes and Disk Space</a></li>
</ul>
</li>
<li class="has_submenu"><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/management_tools.html">HAWQ Management Tools Reference</a>
<ul>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/analyzedb.html">analyzedb</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/client_utilities/createdb.html">createdb</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/client_utilities/createuser.html">createuser</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/client_utilities/dropdb.html">dropdb</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/client_utilities/dropuser.html">dropuser</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/gpfdist.html">gpfdist</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/gplogfilter.html">gplogfilter</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqactivate.html">hawq activate</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqcheck.html">hawq check</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqcheckperf.html">hawq checkperf</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqconfig.html">hawq config</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqextract.html">hawq extract</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqfilespace.html">hawq filespace</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqinit.html">hawq init</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqload.html">hawq load</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqregister.html">hawq register</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqrestart.html">hawq restart</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqscp.html">hawq scp</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqssh.html">hawq ssh</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqssh-exkeys.html">hawq ssh-exkeys</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqstart.html">hawq start</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqstate.html">hawq state</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/admin_utilities/hawqstop.html">hawq stop</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/client_utilities/pg_dump.html">pg_dump</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/client_utilities/pg_dumpall.html">pg_dumpall</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/client_utilities/pg_restore.html">pg_restore</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/client_utilities/psql.html">psql</a></li>
<li><a href="/docs/userguide/2.3.0.0-incubating/reference/cli/client_utilities/vacuumdb.html">vacuumdb</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!--end of sub-nav-->
<!--googleon: index-->
<main class="content content-layout" id="js-content" role="main">
<a id="top"></a>
<h1 class="title-container" >
Writing Data to HDFS
</h1>
<div id="js-quick-links" >
<div class="quick-links"><ul>
<li><a href="#pxfwrite_prereq">Prerequisites</a></li>
<li><a href="#hdfsplugin_writeextdata">Writing to PXF External Tables</a></li>
<li><a href="#profile_hdfstextsimple">Custom Options</a></li>
<li>
<a href="#profile_hdfstextsimple">HdfsTextSimple Profile</a><ul><li><a href="#profile_hdfstextsimple_writing">Example: Writing Data Using the HdfsTextSimple Profile</a></li></ul>
</li>
<li>
<a href="#profile_hdfsseqwritable_using">SequenceWritable Profile</a><ul><li><a href="#profile_hdfsseqwritable_writing">Example: Writing Data Using the SequenceWritable Profile</a></li></ul>
</li>
<li>
<a href="#recordkeyinkey-valuefileformats">Reading the Record Key</a><ul><li><a href="#example1">Example: Using Record Keys</a></li></ul>
</li>
</ul></div>
</div>
<div class="to-top" id="js-to-top">
<a href="#top" title="back to top"></a>
</div>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<p>The PXF HDFS plug-in supports writable external tables using the <code>HdfsTextSimple</code> and <code>SequenceWritable</code> profiles. You might create a writable table to export data from a HAWQ internal table to binary or text HDFS files.</p>
<p>Use the <code>HdfsTextSimple</code> profile when writing text data. Use the <code>SequenceWritable</code> profile when dealing with binary data.</p>
<p>This section describes how to use these PXF profiles to create writable external tables.</p>
<p><strong>Note</strong>: Tables that you create with writable profiles can only be used for INSERT operations. If you want to query inserted data, you must define a separate external readable table that references the new HDFS file using the equivalent readable profile.</p>
<h2 id="prerequisites"><a id="pxfwrite_prereq"></a>Prerequisites</h2>
<p>Before working with HDFS file data using HAWQ and PXF, ensure that:</p>
<ul>
<li> The HDFS plug-in is installed on all cluster nodes. See <a href="/docs/userguide/2.3.0.0-incubating/pxf/InstallPXFPlugins.html">Installing PXF Plug-ins</a> for PXF plug-in installation information.</li>
<li> All HDFS users have read permissions to HDFS services.</li>
<li> HDFS write permissions are provided to a restricted set of users.</li>
</ul>
<h2 id="writing-to-pxf-external-tables"><a id="hdfsplugin_writeextdata"></a>Writing to PXF External Tables</h2>
<p>The PXF HDFS plug-in supports two writable profiles: <code>HdfsTextSimple</code> and <code>SequenceWritable</code>.</p>
<p>Use the following syntax to create a HAWQ external writable table representing HDFS data: </p>
<pre class="highlight sql"><code><span class="k">CREATE</span> <span class="n">WRITABLE</span> <span class="k">EXTERNAL</span> <span class="k">TABLE</span> <span class="o">&lt;</span><span class="k">table_name</span><span class="o">&gt;</span>
<span class="p">(</span> <span class="o">&lt;</span><span class="k">column_name</span><span class="o">&gt;</span> <span class="o">&lt;</span><span class="n">data_type</span><span class="o">&gt;</span> <span class="p">[,</span> <span class="p">...]</span> <span class="o">|</span> <span class="k">LIKE</span> <span class="o">&lt;</span><span class="n">other_table</span><span class="o">&gt;</span> <span class="p">)</span>
<span class="k">LOCATION</span> <span class="p">(</span><span class="s1">'pxf://&lt;host&gt;[:&lt;port&gt;]/&lt;path-to-hdfs-file&gt;
?PROFILE=HdfsTextSimple|SequenceWritable[&amp;&lt;custom-option&gt;=&lt;value&gt;[...]]'</span><span class="p">)</span>
<span class="n">FORMAT</span> <span class="s1">'[TEXT|CSV|CUSTOM]'</span> <span class="p">(</span><span class="o">&lt;</span><span class="n">formatting</span><span class="o">-</span><span class="n">properties</span><span class="o">&gt;</span><span class="p">);</span>
</code></pre>
<p>HDFS-plug-in-specific keywords and values used in the <a href="/docs/userguide/2.3.0.0-incubating/reference/sql/CREATE-EXTERNAL-TABLE.html">CREATE EXTERNAL TABLE</a> call are described in the table below.</p>
<table><thead>
<tr>
<th>Keyword</th>
<th>Value</th>
</tr>
</thead><tbody>
<tr>
<td>&lt;host&gt;</td>
<td>The PXF host. While &lt;host&gt; may identify any PXF agent node, use the HDFS NameNode as it is guaranteed to be available in a running HDFS cluster. If HDFS High Availability is enabled, &lt;host&gt; must identify the HDFS NameService.</td>
</tr>
<tr>
<td>&lt;port&gt;</td>
<td>The PXF port. If &lt;port&gt; is omitted, PXF assumes &lt;host&gt; identifies a High Availability HDFS Nameservice and connects to the port number designated by the <code>pxf_service_port</code> server configuration parameter value. Default is 51200.</td>
</tr>
<tr>
<td>&lt;path-to-hdfs-file&gt;</td>
<td>The path to the file in the HDFS data store.</td>
</tr>
<tr>
<td>PROFILE</td>
<td>The <code>PROFILE</code> keyword must specify one of the values <code>HdfsTextSimple</code> or <code>SequenceWritable</code>.</td>
</tr>
<tr>
<td>&lt;custom-option&gt;</td>
<td>&lt;custom-option&gt; is profile-specific. These options are discussed in the next topic.</td>
</tr>
<tr>
<td>FORMAT &lsquo;TEXT&rsquo;</td>
<td>Use &rsquo;<code>TEXT</code>&rsquo; <code>FORMAT</code> with the <code>HdfsTextSimple</code> profile to create a plain-text-delimited file at the location specified by &lt;path-to-hdfs-file&gt;. The <code>HdfsTextSimple</code> &rsquo;<code>TEXT</code>&rsquo; <code>FORMAT</code> supports only the built-in <code>(delimiter=&lt;delim&gt;)</code> &lt;formatting-property&gt;.</td>
</tr>
<tr>
<td>FORMAT &#39;CSV&rsquo;</td>
<td>Use &rsquo;<code>CSV</code>&rsquo; <code>FORMAT</code> with the <code>HdfsTextSimple</code> profile to create a comma-separated-value file at the location specified by &lt;path-to-hdfs-file&gt;.</td>
</tr>
<tr>
<td>FORMAT &#39;CUSTOM&rsquo;</td>
<td>Use the <code>&#39;CUSTOM&#39;</code> <code>FORMAT</code> with the <code>SequenceWritable</code> profile. The <code>SequenceWritable</code> &rsquo;<code>CUSTOM</code>&rsquo; <code>FORMAT</code> supports only the built-in <code>(formatter=&#39;pxfwritable_export)</code> (write) and <code>(formatter=&#39;pxfwritable_import)</code> (read) &lt;formatting-properties&gt;.</td>
</tr>
</tbody></table>
<p><strong>Note</strong>: When creating PXF external tables, you cannot use the <code>HEADER</code> option in your <code>FORMAT</code> specification.</p>
<h2 id="custom-options"><a id="profile_hdfstextsimple"></a>Custom Options</h2>
<p>The <code>HdfsTextSimple</code> and <code>SequenceWritable</code> profiles support the following custom options:</p>
<table><thead>
<tr>
<th>Option</th>
<th>Value Description</th>
<th>Profile</th>
</tr>
</thead><tbody>
<tr>
<td>COMPRESSION_CODEC</td>
<td>The compression codec Java class name. If this option is not provided, no data compression is performed. Supported compression codecs include: <code>org.apache.hadoop.io.compress.DefaultCodec</code> and <code>org.apache.hadoop.io.compress.BZip2Codec</code></td>
<td>HdfsTextSimple, SequenceWritable</td>
</tr>
<tr>
<td>COMPRESSION_CODEC</td>
<td><code>org.apache.hadoop.io.compress.GzipCodec</code></td>
<td>HdfsTextSimple</td>
</tr>
<tr>
<td>COMPRESSION_TYPE</td>
<td>The compression type to employ; supported values are <code>RECORD</code> (the default) or <code>BLOCK</code>.</td>
<td>HdfsTextSimple, SequenceWritable</td>
</tr>
<tr>
<td>DATA-SCHEMA</td>
<td>The name of the writer serialization/deserialization class. The jar file in which this class resides must be in the PXF classpath. This option is required for the <code>SequenceWritable</code> profile and has no default value.</td>
<td>SequenceWritable</td>
</tr>
<tr>
<td>THREAD-SAFE</td>
<td>Boolean value determining if a table query can run in multi-threaded mode. The default value is <code>TRUE</code>. Set this option to <code>FALSE</code> to handle all requests in a single thread for operations that are not thread-safe (for example, compression).</td>
<td>HdfsTextSimple, SequenceWritable</td>
</tr>
</tbody></table>
<h2 id="hdfstextsimple-profile"><a id="profile_hdfstextsimple"></a>HdfsTextSimple Profile</h2>
<p>Use the <code>HdfsTextSimple</code> profile when writing delimited data to a plain text file where each line is a single record.</p>
<p>Writable tables created using the <code>HdfsTextSimple</code> profile can optionally use record or block compression. The following compression codecs are supported:</p>
<ul>
<li>org.apache.hadoop.io.compress.DefaultCodec</li>
<li>org.apache.hadoop.io.compress.GzipCodec</li>
<li>org.apache.hadoop.io.compress.BZip2Codec</li>
</ul>
<p>The <code>HdfsTextSimple</code> profile supports the following &lt;formatting-properties&gt;:</p>
<table><thead>
<tr>
<th>Keyword</th>
<th>Value</th>
</tr>
</thead><tbody>
<tr>
<td>delimiter</td>
<td>The delimiter character to use when writing the file. Default value is a comma <code>,</code>.</td>
</tr>
</tbody></table>
<h3 id="example:-writing-data-using-the-hdfstextsimple-profile"><a id="profile_hdfstextsimple_writing"></a>Example: Writing Data Using the HdfsTextSimple Profile</h3>
<p>This example uses the data schema introduced in <a href="/docs/userguide/2.3.0.0-incubating/pxf/HDFSFileDataPXF.html#profile_hdfstextsimple_query">Example: Using the HdfsTextSimple Profile</a>:</p>
<table><thead>
<tr>
<th>Field Name</th>
<th>Data Type</th>
</tr>
</thead><tbody>
<tr>
<td>location</td>
<td>text</td>
</tr>
<tr>
<td>month</td>
<td>text</td>
</tr>
<tr>
<td>number_of_orders</td>
<td>int</td>
</tr>
<tr>
<td>total_sales</td>
<td>float8</td>
</tr>
</tbody></table>
<p>This example also uses the HAWQ table <code>pxf_hdfs_textsimple</code> created in that exercise and expects it to exist.</p>
<p>Perform the following operations to use the PXF <code>HdfsTextSimple</code> profile to create a HAWQ writable external table with the same data schema as defined above. You will also create a separate external readable table to read the associated HDFS file.</p>
<ol>
<li><p>Create a writable HAWQ external table with the data schema described above. Write to the HDFS file <code>/data/pxf_examples/pxfwritable_hdfs_textsimple1</code>. Create the table specifying a comma <code>,</code> as the delimiter:</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">CREATE</span> <span class="n">WRITABLE</span> <span class="k">EXTERNAL</span> <span class="k">TABLE</span> <span class="n">pxf_hdfs_writabletbl_1</span><span class="p">(</span><span class="k">location</span> <span class="n">text</span><span class="p">,</span> <span class="k">month</span> <span class="n">text</span><span class="p">,</span> <span class="n">num_orders</span> <span class="n">int</span><span class="p">,</span> <span class="n">total_sales</span> <span class="n">float8</span><span class="p">)</span>
<span class="k">LOCATION</span> <span class="p">(</span><span class="s1">'pxf://namenode:51200/data/pxf_examples/pxfwritable_hdfs_textsimple1?PROFILE=HdfsTextSimple'</span><span class="p">)</span>
<span class="n">FORMAT</span> <span class="s1">'TEXT'</span> <span class="p">(</span><span class="k">delimiter</span><span class="o">=</span><span class="n">E</span><span class="s1">','</span><span class="p">);</span>
</code></pre>
<p>The <code>FORMAT</code> subclause <code>delimiter</code> value is specified as the single ascii comma character <code>,</code>. <code>E</code> escapes the character.</p></li>
<li><p>Write a few records to the <code>pxfwritable_hdfs_textsimple1</code> HDFS file by invoking the SQL <code>INSERT</code> command on <code>pxf_hdfs_writabletbl_1</code>:</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">pxf_hdfs_writabletbl_1</span> <span class="k">VALUES</span> <span class="p">(</span> <span class="s1">'Frankfurt'</span><span class="p">,</span> <span class="s1">'Mar'</span><span class="p">,</span> <span class="mi">777</span><span class="p">,</span> <span class="mi">3956</span><span class="p">.</span><span class="mi">98</span> <span class="p">);</span>
<span class="n">gpadmin</span><span class="o">=#</span> <span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">pxf_hdfs_writabletbl_1</span> <span class="k">VALUES</span> <span class="p">(</span> <span class="s1">'Cleveland'</span><span class="p">,</span> <span class="s1">'Oct'</span><span class="p">,</span> <span class="mi">3812</span><span class="p">,</span> <span class="mi">96645</span><span class="p">.</span><span class="mi">37</span> <span class="p">);</span>
</code></pre></li>
<li><p>Insert the contents of the <code>pxf_hdfs_textsimple</code> table created in <a href="/docs/userguide/2.3.0.0-incubating/pxf/HDFSFileDataPXF.html#profile_hdfstextsimple_query">Example: Using the HdfsTextSimple Profile</a> into <code>pxf_hdfs_writabletbl_1</code>:</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">pxf_hdfs_writabletbl_1</span> <span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">pxf_hdfs_textsimple</span><span class="p">;</span>
</code></pre></li>
<li><p>View the file contents in HDFS:</p>
<pre class="highlight shell"><code><span class="gp">$ </span>hdfs dfs -cat /data/pxf_examples/pxfwritable_hdfs_textsimple1/<span class="k">*</span>
Frankfurt,Mar,777,3956.98
Cleveland,Oct,3812,96645.37
Prague,Jan,101,4875.33
Rome,Mar,87,1557.39
Bangalore,May,317,8936.99
Beijing,Jul,411,11600.67
</code></pre>
<p>Because you specified comma <code>,</code> as the delimiter, this character is the field separator used in each record of the HDFS file.</p></li>
<li><p>Querying an external writable table is not supported in HAWQ. To query data from the newly-created HDFS file, create a readable external HAWQ table referencing the HDFS file:</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">CREATE</span> <span class="k">EXTERNAL</span> <span class="k">TABLE</span> <span class="n">pxf_hdfs_textsimple_r1</span><span class="p">(</span><span class="k">location</span> <span class="n">text</span><span class="p">,</span> <span class="k">month</span> <span class="n">text</span><span class="p">,</span> <span class="n">num_orders</span> <span class="n">int</span><span class="p">,</span> <span class="n">total_sales</span> <span class="n">float8</span><span class="p">)</span>
<span class="k">LOCATION</span> <span class="p">(</span><span class="s1">'pxf://namenode:51200/data/pxf_examples/pxfwritable_hdfs_textsimple1?PROFILE=HdfsTextSimple'</span><span class="p">)</span>
<span class="n">FORMAT</span> <span class="s1">'CSV'</span><span class="p">;</span>
</code></pre>
<p>Specify the <code>&#39;CSV&#39;</code> <code>FORMAT</code> for the readable table, because you created the writable table with a comma <code>,</code> as the delimiter character.</p></li>
<li><p>Query the readable external table <code>pxf_hdfs_textsimple_r1</code>:</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">pxf_hdfs_textsimple_r1</span><span class="p">;</span>
</code></pre>
<pre class="highlight plaintext"><code> location | month | num_orders | total_sales
-----------+-------+------------+-------------
Frankfurt | Mar | 777 | 3956.98
Cleveland | Oct | 3812 | 96645.37
Prague | Jan | 101 | 4875.33
Rome | Mar | 87 | 1557.39
Bangalore | May | 317 | 8936.99
Beijing | Jul | 411 | 11600.67
(6 rows)
</code></pre>
<p>The table includes the records you individually inserted, as well as the full contents of the <code>pxf_hdfs_textsimple</code> table.</p></li>
<li><p>Create a second HAWQ external writable table, this time using Gzip compression and employing a colon <code>:</code> as the delimiter:</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">CREATE</span> <span class="n">WRITABLE</span> <span class="k">EXTERNAL</span> <span class="k">TABLE</span> <span class="n">pxf_hdfs_writabletbl_2</span> <span class="p">(</span><span class="k">location</span> <span class="n">text</span><span class="p">,</span> <span class="k">month</span> <span class="n">text</span><span class="p">,</span> <span class="n">num_orders</span> <span class="n">int</span><span class="p">,</span> <span class="n">total_sales</span> <span class="n">float8</span><span class="p">)</span>
<span class="k">LOCATION</span> <span class="p">(</span><span class="s1">'pxf://namenode:51200/data/pxf_examples/pxfwritable_hdfs_textsimple2?PROFILE=HdfsTextSimple&amp;COMPRESSION_CODEC=org.apache.hadoop.io.compress.GzipCodec'</span><span class="p">)</span>
<span class="n">FORMAT</span> <span class="s1">'TEXT'</span> <span class="p">(</span><span class="k">delimiter</span><span class="o">=</span><span class="n">E</span><span class="s1">':'</span><span class="p">);</span>
</code></pre></li>
<li><p>Write a few records to the <code>pxfwritable_hdfs_textsimple2</code> HDFS file by inserting into the <code>pxf_hdfs_writabletbl_2</code> table:</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">pxf_hdfs_writabletbl_2</span> <span class="k">VALUES</span> <span class="p">(</span> <span class="s1">'Frankfurt'</span><span class="p">,</span> <span class="s1">'Mar'</span><span class="p">,</span> <span class="mi">777</span><span class="p">,</span> <span class="mi">3956</span><span class="p">.</span><span class="mi">98</span> <span class="p">);</span>
<span class="n">gpadmin</span><span class="o">=#</span> <span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">pxf_hdfs_writabletbl_2</span> <span class="k">VALUES</span> <span class="p">(</span> <span class="s1">'Cleveland'</span><span class="p">,</span> <span class="s1">'Oct'</span><span class="p">,</span> <span class="mi">3812</span><span class="p">,</span> <span class="mi">96645</span><span class="p">.</span><span class="mi">37</span> <span class="p">);</span>
</code></pre></li>
<li><p>View the file contents in HDFS; use the <code>-text</code> option to <code>hdfs dfs</code> to view the compressed data as text:</p>
<pre class="highlight shell"><code><span class="gp">$ </span>hdfs dfs -text /data/pxf_examples/pxfwritable_hdfs_textsimple2/<span class="k">*</span>
Frankfurt:Mar:777:3956.98
Cleveland:Oct:3812:96645.3
</code></pre>
<p>Notice that the colon <code>:</code> is the field separator in the HDFS file.</p>
<p>As described in Step 5 above, to query data from the newly-created HDFS file named <code>pxfwritable_hdfs_textsimple2</code>, you can create a readable external HAWQ table referencing this HDFS file.</p></li>
</ol>
<h2 id="sequencewritable-profile"><a id="profile_hdfsseqwritable_using"></a>SequenceWritable Profile</h2>
<p>Use the HDFS plug-in <code>SequenceWritable</code> profile when writing SequenceFile format files. Files of this type consist of binary key/value pairs. Sequence files are a common data transfer format between MapReduce jobs. </p>
<p>SequenceFile format files can optionally use record or block compression. The following compression codecs are supported:</p>
<ul>
<li>org.apache.hadoop.io.compress.DefaultCodec</li>
<li>org.apache.hadoop.io.compress.BZip2Codec</li>
</ul>
<p>When using the <code>SequenceWritable</code> profile to write a SequenceFile format file, you must provide the name of the Java class to use for serializing/deserializing the data. This class must provide read and write methods for the fields in the schema associated with the data.</p>
<h3 id="example:-writing-data-using-the-sequencewritable-profile"><a id="profile_hdfsseqwritable_writing"></a>Example: Writing Data Using the SequenceWritable Profile</h3>
<p>In this example, you will create a Java class named <code>PxfExample_CustomWritable</code> that will serialize/deserialize the fields in the sample schema used in previous examples. You will then use this class to access a writable external table created with the <code>SequenceWritable</code> profile. </p>
<p>Perform the following steps to create the Java class and writable table.</p>
<ol>
<li><p>Prepare to create the sample Java class:</p>
<pre class="highlight shell"><code><span class="gp">$ </span>mkdir -p pxfex/com/hawq/example/pxf/hdfs/writable/dataschema
<span class="gp">$ </span><span class="nb">cd </span>pxfex/com/hawq/example/pxf/hdfs/writable/dataschema
<span class="gp">$ </span>vi PxfExample_CustomWritable.java
</code></pre></li>
<li><p>Copy and paste the following text into the <code>PxfExample_CustomWritable.java</code> file:</p>
<pre class="highlight java"><code><span class="kn">package</span> <span class="n">com</span><span class="o">.</span><span class="na">hawq</span><span class="o">.</span><span class="na">example</span><span class="o">.</span><span class="na">pxf</span><span class="o">.</span><span class="na">hdfs</span><span class="o">.</span><span class="na">writable</span><span class="o">.</span><span class="na">dataschema</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.hadoop.io.*</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.io.DataInput</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.io.DataOutput</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.io.IOException</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.lang.reflect.Field</span><span class="o">;</span>
<span class="cm">/**
* PxfExample_CustomWritable class - used to serialize and deserialize data with
* text, int, and float data types
*/</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">PxfExample_CustomWritable</span> <span class="kd">implements</span> <span class="n">Writable</span> <span class="o">{</span>
<span class="kd">public</span> <span class="n">String</span> <span class="n">st1</span><span class="o">,</span> <span class="n">st2</span><span class="o">;</span>
<span class="kd">public</span> <span class="kt">int</span> <span class="n">int1</span><span class="o">;</span>
<span class="kd">public</span> <span class="kt">float</span> <span class="n">ft</span><span class="o">;</span>
<span class="kd">public</span> <span class="nf">PxfExample_CustomWritable</span><span class="o">()</span> <span class="o">{</span>
<span class="n">st1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">String</span><span class="o">(</span><span class="s">""</span><span class="o">);</span>
<span class="n">st2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">String</span><span class="o">(</span><span class="s">""</span><span class="o">);</span>
<span class="n">int1</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
<span class="n">ft</span> <span class="o">=</span> <span class="mi">0</span><span class="o">.</span><span class="na">f</span><span class="o">;</span>
<span class="o">}</span>
<span class="kd">public</span> <span class="nf">PxfExample_CustomWritable</span><span class="o">(</span><span class="kt">int</span> <span class="n">i1</span><span class="o">,</span> <span class="kt">int</span> <span class="n">i2</span><span class="o">,</span> <span class="kt">int</span> <span class="n">i3</span><span class="o">)</span> <span class="o">{</span>
<span class="n">st1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">String</span><span class="o">(</span><span class="s">"short_string___"</span> <span class="o">+</span> <span class="n">i1</span><span class="o">);</span>
<span class="n">st2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">String</span><span class="o">(</span><span class="s">"short_string___"</span> <span class="o">+</span> <span class="n">i1</span><span class="o">);</span>
<span class="n">int1</span> <span class="o">=</span> <span class="n">i2</span><span class="o">;</span>
<span class="n">ft</span> <span class="o">=</span> <span class="n">i1</span> <span class="o">*</span> <span class="mi">10</span><span class="o">.</span><span class="na">f</span> <span class="o">*</span> <span class="mf">2.3f</span><span class="o">;</span>
<span class="o">}</span>
<span class="n">String</span> <span class="nf">GetSt1</span><span class="o">()</span> <span class="o">{</span>
<span class="k">return</span> <span class="n">st1</span><span class="o">;</span>
<span class="o">}</span>
<span class="n">String</span> <span class="nf">GetSt2</span><span class="o">()</span> <span class="o">{</span>
<span class="k">return</span> <span class="n">st2</span><span class="o">;</span>
<span class="o">}</span>
<span class="kt">int</span> <span class="nf">GetInt1</span><span class="o">()</span> <span class="o">{</span>
<span class="k">return</span> <span class="n">int1</span><span class="o">;</span>
<span class="o">}</span>
<span class="kt">float</span> <span class="nf">GetFt</span><span class="o">()</span> <span class="o">{</span>
<span class="k">return</span> <span class="n">ft</span><span class="o">;</span>
<span class="o">}</span>
<span class="nd">@Override</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">write</span><span class="o">(</span><span class="n">DataOutput</span> <span class="n">out</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span> <span class="o">{</span>
<span class="n">Text</span> <span class="n">txt</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Text</span><span class="o">();</span>
<span class="n">txt</span><span class="o">.</span><span class="na">set</span><span class="o">(</span><span class="n">st1</span><span class="o">);</span>
<span class="n">txt</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">out</span><span class="o">);</span>
<span class="n">txt</span><span class="o">.</span><span class="na">set</span><span class="o">(</span><span class="n">st2</span><span class="o">);</span>
<span class="n">txt</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">out</span><span class="o">);</span>
<span class="n">IntWritable</span> <span class="n">intw</span> <span class="o">=</span> <span class="k">new</span> <span class="n">IntWritable</span><span class="o">();</span>
<span class="n">intw</span><span class="o">.</span><span class="na">set</span><span class="o">(</span><span class="n">int1</span><span class="o">);</span>
<span class="n">intw</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">out</span><span class="o">);</span>
<span class="n">FloatWritable</span> <span class="n">fw</span> <span class="o">=</span> <span class="k">new</span> <span class="n">FloatWritable</span><span class="o">();</span>
<span class="n">fw</span><span class="o">.</span><span class="na">set</span><span class="o">(</span><span class="n">ft</span><span class="o">);</span>
<span class="n">fw</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">out</span><span class="o">);</span>
<span class="o">}</span>
<span class="nd">@Override</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">readFields</span><span class="o">(</span><span class="n">DataInput</span> <span class="n">in</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span> <span class="o">{</span>
<span class="n">Text</span> <span class="n">txt</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Text</span><span class="o">();</span>
<span class="n">txt</span><span class="o">.</span><span class="na">readFields</span><span class="o">(</span><span class="n">in</span><span class="o">);</span>
<span class="n">st1</span> <span class="o">=</span> <span class="n">txt</span><span class="o">.</span><span class="na">toString</span><span class="o">();</span>
<span class="n">txt</span><span class="o">.</span><span class="na">readFields</span><span class="o">(</span><span class="n">in</span><span class="o">);</span>
<span class="n">st2</span> <span class="o">=</span> <span class="n">txt</span><span class="o">.</span><span class="na">toString</span><span class="o">();</span>
<span class="n">IntWritable</span> <span class="n">intw</span> <span class="o">=</span> <span class="k">new</span> <span class="n">IntWritable</span><span class="o">();</span>
<span class="n">intw</span><span class="o">.</span><span class="na">readFields</span><span class="o">(</span><span class="n">in</span><span class="o">);</span>
<span class="n">int1</span> <span class="o">=</span> <span class="n">intw</span><span class="o">.</span><span class="na">get</span><span class="o">();</span>
<span class="n">FloatWritable</span> <span class="n">fw</span> <span class="o">=</span> <span class="k">new</span> <span class="n">FloatWritable</span><span class="o">();</span>
<span class="n">fw</span><span class="o">.</span><span class="na">readFields</span><span class="o">(</span><span class="n">in</span><span class="o">);</span>
<span class="n">ft</span> <span class="o">=</span> <span class="n">fw</span><span class="o">.</span><span class="na">get</span><span class="o">();</span>
<span class="o">}</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">printFieldTypes</span><span class="o">()</span> <span class="o">{</span>
<span class="n">Class</span> <span class="n">myClass</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">getClass</span><span class="o">();</span>
<span class="n">Field</span><span class="o">[]</span> <span class="n">fields</span> <span class="o">=</span> <span class="n">myClass</span><span class="o">.</span><span class="na">getDeclaredFields</span><span class="o">();</span>
<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">fields</span><span class="o">.</span><span class="na">length</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">fields</span><span class="o">[</span><span class="n">i</span><span class="o">].</span><span class="na">getType</span><span class="o">().</span><span class="na">getName</span><span class="o">());</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
</code></pre></li>
<li><p>Compile and create a Java class JAR file for <code>PxfExample_CustomWritable</code>:</p>
<pre class="highlight shell"><code><span class="gp">$ </span>javac -classpath /usr/hdp/2.5.3.0-37/hadoop/hadoop-common.jar PxfExample_CustomWritable.java
<span class="gp">$ </span><span class="nb">cd</span> ../../../../../../../
<span class="gp">$ </span>jar cf pxfex-customwritable.jar com
<span class="gp">$ </span>cp pxfex-customwritable.jar /tmp/
</code></pre>
<p>(Your Hadoop library classpath may differ.)</p></li>
<li><p>Include the new jar file in the PXF Agent classpath by updating the <code>pxf-public.classpath</code> file. If you use Ambari to manage your cluster, add the following line via the Ambari UI and restart the PXF Agent:</p>
<pre class="highlight plaintext"><code>/tmp/pxfex-customwritable.jar
</code></pre>
<p>If you have a command-line-managed HAWQ cluster, perform the following steps on each node in your HAWQ cluster:</p>
<ul>
<li>Directly edit <code>/etc/pxf/conf/pxf-public.classpath</code> and add the line above.</li>
<li><p>Restart the PXF Agent:</p>
<pre class="highlight shell"><code><span class="gp">$ </span>sudo service pxf-service restart
</code></pre></li>
</ul></li>
<li><p>Use the PXF <code>SequenceWritable</code> profile to create a writable HAWQ external table. Identify the serialization/deserialization Java class you created above in the <code>DATA-SCHEMA</code> &lt;custom-option&gt;. Use <code>BLOCK</code> mode compression with <code>BZip2</code> when creating the writable table.</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">CREATE</span> <span class="n">WRITABLE</span> <span class="k">EXTERNAL</span> <span class="k">TABLE</span> <span class="n">pxf_tbl_seqwrit</span> <span class="p">(</span><span class="k">location</span> <span class="n">text</span><span class="p">,</span> <span class="k">month</span> <span class="n">text</span><span class="p">,</span> <span class="n">number_of_orders</span> <span class="n">integer</span><span class="p">,</span> <span class="n">total_sales</span> <span class="n">real</span><span class="p">)</span>
<span class="k">LOCATION</span> <span class="p">(</span><span class="s1">'pxf://namenode:51200/data/pxf_examples/pxf_seqwrit_file?PROFILE=SequenceWritable&amp;DATA-SCHEMA=com.hawq.example.pxf.hdfs.writable.dataschema.PxfExample_CustomWritable&amp;COMPRESSION_TYPE=BLOCK&amp;COMPRESSION_CODEC=org.apache.hadoop.io.compress.BZip2Codec'</span><span class="p">)</span>
<span class="n">FORMAT</span> <span class="s1">'CUSTOM'</span> <span class="p">(</span><span class="n">formatter</span><span class="o">=</span><span class="s1">'pxfwritable_export'</span><span class="p">);</span>
</code></pre>
<p>Notice that the <code>&#39;CUSTOM&#39;</code> <code>FORMAT</code> &lt;formatting-properties&gt; specify the built-in <code>pxfwritable_export</code> formatter.</p></li>
<li><p>Insert some data into <code>pxf_tbl_seqwrit</code>:</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">pxf_tbl_seqwrit</span> <span class="k">VALUES</span> <span class="p">(</span> <span class="s1">'Frankfurt'</span><span class="p">,</span> <span class="s1">'Mar'</span><span class="p">,</span> <span class="mi">777</span><span class="p">,</span> <span class="mi">3956</span><span class="p">.</span><span class="mi">98</span> <span class="p">);</span>
<span class="n">gpadmin</span><span class="o">=#</span> <span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">pxf_tbl_seqwrit</span> <span class="k">VALUES</span> <span class="p">(</span> <span class="s1">'Cleveland'</span><span class="p">,</span> <span class="s1">'Oct'</span><span class="p">,</span> <span class="mi">3812</span><span class="p">,</span> <span class="mi">96645</span><span class="p">.</span><span class="mi">37</span> <span class="p">);</span>
</code></pre></li>
<li><p>Recall that querying an external writable table is not supported in HAWQ. To read the newly-created writable table, create a HAWQ readable external table referencing the writable table&rsquo;s HDFS file:</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">CREATE</span> <span class="k">EXTERNAL</span> <span class="k">TABLE</span> <span class="n">read_pxf_tbl_seqwrit</span> <span class="p">(</span><span class="k">location</span> <span class="n">text</span><span class="p">,</span> <span class="k">month</span> <span class="n">text</span><span class="p">,</span> <span class="n">number_of_orders</span> <span class="n">integer</span><span class="p">,</span> <span class="n">total_sales</span> <span class="n">real</span><span class="p">)</span>
<span class="k">LOCATION</span> <span class="p">(</span><span class="s1">'pxf://namenode:51200/data/pxf_examples/pxf_seqwrit_file?PROFILE=SequenceWritable&amp;DATA-SCHEMA=com.hawq.example.pxf.hdfs.writable.dataschema.PxfExample_CustomWritable'</span><span class="p">)</span>
<span class="n">FORMAT</span> <span class="s1">'CUSTOM'</span> <span class="p">(</span><span class="n">formatter</span><span class="o">=</span><span class="s1">'pxfwritable_import'</span><span class="p">);</span>
</code></pre>
<p>The <code>DATA-SCHEMA</code> &lt;custom-option&gt; must be specified when reading an HDFS file via the <code>SequenceWritable</code> profile. Compression-related options need not be provided.</p></li>
<li><p>Query the readable external table <code>read_pxf_tbl_seqwrit</code>:</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">read_pxf_tbl_seqwrit</span><span class="p">;</span>
</code></pre>
<pre class="highlight plaintext"><code> location | month | number_of_orders | total_sales
-----------+-------+------------------+-------------
Frankfurt | Mar | 777 | 3956.98
Cleveland | Oct | 3812 | 96645.4
(2 rows)
</code></pre></li>
</ol>
<h2 id="reading-the-record-key"><a id="recordkeyinkey-valuefileformats"></a>Reading the Record Key</h2>
<p>When a HAWQ external table references a SequenceFile or another file format that store rows in a key-value format, you can access the key values in HAWQ queries by using the <code>recordkey</code> keyword as a field name.</p>
<p>The field type of <code>recordkey</code> must correspond to the key type, much as the other fields must match the HDFS data. </p>
<p><code>recordkey</code> can be any of the following Hadoop types:</p>
<ul>
<li> BooleanWritable</li>
<li> ByteWritable</li>
<li> DoubleWritable</li>
<li> FloatWritable</li>
<li> IntWritable</li>
<li> LongWritable</li>
<li> Text</li>
</ul>
<h3 id="example:-using-record-keys"><a id="example1"></a>Example: Using Record Keys</h3>
<p>Create an external readable table to access the record keys from the writable table <code>pxf_tbl_seqwrit</code> that you created in <a href="#profile_hdfsseqwritable_writing">Example: Writing Data Using the SequenceWritable Profile</a>. The <code>recordkey</code> is of type <code>int8</code>.</p>
<pre class="highlight sql"><code><span class="n">gpadmin</span><span class="o">=#</span> <span class="k">CREATE</span> <span class="k">EXTERNAL</span> <span class="k">TABLE</span> <span class="n">read_pxf_tbl_seqwrit_RECKEY</span> <span class="p">(</span><span class="n">recordkey</span> <span class="n">int8</span><span class="p">,</span> <span class="k">location</span> <span class="n">text</span><span class="p">,</span> <span class="k">month</span> <span class="n">text</span><span class="p">,</span> <span class="n">number_of_orders</span> <span class="n">integer</span><span class="p">,</span> <span class="n">total_sales</span> <span class="n">real</span><span class="p">)</span>
<span class="k">LOCATION</span> <span class="p">(</span><span class="s1">'pxf://namenode:51200/data/pxf_examples/pxf_seqwrit_file?PROFILE=SequenceWritable&amp;DATA-SCHEMA=com.hawq.example.pxf.hdfs.writable.dataschema.PxfExample_CustomWritable'</span><span class="p">)</span>
<span class="n">FORMAT</span> <span class="s1">'CUSTOM'</span> <span class="p">(</span><span class="n">formatter</span><span class="o">=</span><span class="s1">'pxfwritable_import'</span><span class="p">);</span>
<span class="n">gpadmin</span><span class="o">=#</span> <span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">read_pxf_tbl_seqwrit_RECKEY</span><span class="p">;</span>
</code></pre>
<pre class="highlight plaintext"><code> recordkey | location | month | number_of_orders | total_sales
-----------+-------------+-------+------------------+-------------
0 | Frankfurt | Mar | 777 | 3956.98
0 | Cleveland | Oct | 3812 | 96645.4
(2 rows)
</code></pre>
<p>The <code>recordkey</code> is <code>0</code> because you did not identify a record key when you inserted entries into the writable table.</p>
</main>
</div>
</div>
</div>
<div id="scrim"></div>
<div class="container">
<footer class="site-footer-links">
</footer>
</div><!--end of container-->
</body>
</html>