

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>apache_beam.io.external.snowflake module &mdash; Apache Beam  documentation</title>
  

  
  
  
  

  
  <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
        <script type="text/javascript" src="_static/jquery.js"></script>
        <script type="text/javascript" src="_static/underscore.js"></script>
        <script type="text/javascript" src="_static/doctools.js"></script>
        <script type="text/javascript" src="_static/language_data.js"></script>
    
    <script type="text/javascript" src="_static/js/theme.js"></script>

    

  
  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="apache_beam.io.flink package" href="apache_beam.io.flink.html" />
    <link rel="prev" title="apache_beam.io.external.kafka module" href="apache_beam.io.external.kafka.html" /> 
</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="index.html" class="icon icon-home"> Apache Beam
          

          
          </a>

          
            
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="apache_beam.coders.html">apache_beam.coders package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.dataframe.html">apache_beam.dataframe package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.internal.html">apache_beam.internal package</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="apache_beam.io.html">apache_beam.io package</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="apache_beam.io.html#subpackages">Subpackages</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.aws.html">apache_beam.io.aws package</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="apache_beam.io.external.html">apache_beam.io.external package</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="apache_beam.io.external.html#subpackages">Subpackages</a></li>
<li class="toctree-l4 current"><a class="reference internal" href="apache_beam.io.external.html#submodules">Submodules</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.flink.html">apache_beam.io.flink package</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.gcp.html">apache_beam.io.gcp package</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="apache_beam.io.html#submodules">Submodules</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.metrics.html">apache_beam.metrics package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.ml.html">apache_beam.ml package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.options.html">apache_beam.options package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.portability.html">apache_beam.portability package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.runners.html">apache_beam.runners package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.testing.html">apache_beam.testing package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.tools.html">apache_beam.tools package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.transforms.html">apache_beam.transforms package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.typehints.html">apache_beam.typehints package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.utils.html">apache_beam.utils package</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.error.html">apache_beam.error module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.pipeline.html">apache_beam.pipeline module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.pvalue.html">apache_beam.pvalue module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.version.html">apache_beam.version module</a></li>
</ul>

            
          
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="index.html">Apache Beam</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="index.html">Docs</a> &raquo;</li>
        
          <li><a href="apache_beam.io.html">apache_beam.io package</a> &raquo;</li>
        
          <li><a href="apache_beam.io.external.html">apache_beam.io.external package</a> &raquo;</li>
        
      <li>apache_beam.io.external.snowflake module</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="_sources/apache_beam.io.external.snowflake.rst.txt" rel="nofollow"> View page source</a>
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="module-apache_beam.io.external.snowflake">
<span id="apache-beam-io-external-snowflake-module"></span><h1>apache_beam.io.external.snowflake module<a class="headerlink" href="#module-apache_beam.io.external.snowflake" title="Permalink to this headline">¶</a></h1>
<p>Snowflake transforms tested against Flink portable runner.</p>
<p><strong>Setup</strong></p>
<p>Transforms provided in this module are cross-language transforms
implemented in the Beam Java SDK. During the pipeline construction, Python SDK
will connect to a Java expansion service to expand these transforms.
To facilitate this, a small amount of setup is needed before using these
transforms in a Beam Python pipeline.</p>
<p>There are several ways to setup cross-language Snowflake transforms.</p>
<ul class="simple">
<li>Option 1: use the default expansion service</li>
<li>Option 2: specify a custom expansion service</li>
</ul>
<p>See below for details regarding each of these options.</p>
<p><em>Option 1: Use the default expansion service</em></p>
<p>This is the recommended and easiest setup option for using Python Snowflake
transforms.This option requires following pre-requisites
before running the Beam pipeline.</p>
<ul class="simple">
<li>Install Java runtime in the computer from where the pipeline is constructed
and make sure that ‘java’ command is available.</li>
</ul>
<p>In this option, Python SDK will either download (for released Beam version) or
build (when running from a Beam Git clone) a expansion service jar and use
that to expand transforms. Currently Snowflake transforms use the
‘beam-sdks-java-io-expansion-service’ jar for this purpose.</p>
<p><em>Option 2: specify a custom expansion service</em></p>
<p>In this option, you startup your own expansion service and provide that as
a parameter when using the transforms provided in this module.</p>
<p>This option requires following pre-requisites before running the Beam
pipeline.</p>
<ul class="simple">
<li>Startup your own expansion service.</li>
<li>Update your pipeline to provide the expansion service address when
initiating Snowflake transforms provided in this module.</li>
</ul>
<p>Flink Users can use the built-in Expansion Service of the Flink Runner’s
Job Server. If you start Flink’s Job Server, the expansion service will be
started on port 8097. For a different address, please set the
expansion_service parameter.</p>
<p><strong>More information</strong></p>
<p>For more information regarding cross-language transforms see:
- <a class="reference external" href="https://beam.apache.org/roadmap/portability/">https://beam.apache.org/roadmap/portability/</a></p>
<p>For more information specific to Flink runner see:
- <a class="reference external" href="https://beam.apache.org/documentation/runners/flink/">https://beam.apache.org/documentation/runners/flink/</a></p>
<dl class="class">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema">
<em class="property">class </em><code class="descclassname">apache_beam.io.external.snowflake.</code><code class="descname">ReadFromSnowflakeSchema</code><span class="sig-paren">(</span><em>server_name</em>, <em>schema</em>, <em>database</em>, <em>staging_bucket_name</em>, <em>storage_integration_name</em>, <em>username</em>, <em>password</em>, <em>private_key_path</em>, <em>private_key_passphrase</em>, <em>o_auth_token</em>, <em>table</em>, <em>query</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.8)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a></p>
<p>Create new instance of ReadFromSnowflakeSchema(server_name, schema, database, staging_bucket_name, storage_integration_name, username, password, private_key_path, private_key_passphrase, o_auth_token, table, query)</p>
<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.database">
<code class="descname">database</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.database" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 2</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.o_auth_token">
<code class="descname">o_auth_token</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.o_auth_token" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 9</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.password">
<code class="descname">password</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.password" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 6</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.private_key_passphrase">
<code class="descname">private_key_passphrase</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.private_key_passphrase" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 8</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.private_key_path">
<code class="descname">private_key_path</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.private_key_path" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 7</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.query">
<code class="descname">query</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.query" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 11</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.schema">
<code class="descname">schema</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.schema" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 1</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.server_name">
<code class="descname">server_name</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.server_name" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 0</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.staging_bucket_name">
<code class="descname">staging_bucket_name</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.staging_bucket_name" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 3</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.storage_integration_name">
<code class="descname">storage_integration_name</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.storage_integration_name" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 4</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.table">
<code class="descname">table</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.table" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 10</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.username">
<code class="descname">username</code><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflakeSchema.username" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 5</p>
</dd></dl>

</dd></dl>

<dl class="function">
<dt id="apache_beam.io.external.snowflake.default_io_expansion_service">
<code class="descclassname">apache_beam.io.external.snowflake.</code><code class="descname">default_io_expansion_service</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/external/snowflake.html#default_io_expansion_service"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.external.snowflake.default_io_expansion_service" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="class">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflake">
<em class="property">class </em><code class="descclassname">apache_beam.io.external.snowflake.</code><code class="descname">ReadFromSnowflake</code><span class="sig-paren">(</span><em>server_name</em>, <em>schema</em>, <em>database</em>, <em>staging_bucket_name</em>, <em>storage_integration_name</em>, <em>csv_mapper</em>, <em>username=None</em>, <em>password=None</em>, <em>private_key_path=None</em>, <em>private_key_passphrase=None</em>, <em>o_auth_token=None</em>, <em>table=None</em>, <em>query=None</em>, <em>expansion_service=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/external/snowflake.html#ReadFromSnowflake"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflake" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference internal" href="apache_beam.transforms.ptransform.html#apache_beam.transforms.ptransform.PTransform" title="apache_beam.transforms.ptransform.PTransform"><code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.transforms.ptransform.PTransform</span></code></a></p>
<p>An external PTransform which reads from Snowflake.</p>
<p>Initializes a read operation from Snowflake.</p>
<p>Required parameters:</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>server_name</strong> – full Snowflake server name with the following format
account.region.gcp.snowflakecomputing.com.</li>
<li><strong>schema</strong> – name of the Snowflake schema in the database to use.</li>
<li><strong>database</strong> – name of the Snowflake database to use.</li>
<li><strong>staging_bucket_name</strong> – name of the Google Cloud Storage bucket.::
Bucket will be used as a temporary location for storing CSV files.
Those temporary directories will be named
‘sf_copy_csv_DATE_TIME_RANDOMSUFFIX’
and they will be removed automatically once Read operation finishes.</li>
<li><strong>storage_integration_name</strong> – is the name of storage integration
object created according to Snowflake documentation.</li>
<li><strong>csv_mapper</strong> – specifies a function which must translate
user-defined object to array of strings.
SnowflakeIO uses a COPY INTO &lt;location&gt; statement to move data from
a Snowflake table to Google Cloud Storage as CSV files.These files
are then downloaded via FileIO and processed line by line.
Each line is split into an array of Strings using the OpenCSV
The csv_mapper function job is to give the user the possibility to
convert the array of Strings to a user-defined type,
ie. GenericRecord for Avro or Parquet files, or custom objects.
Example:
def csv_mapper(strings_array)
return User(strings_array[0], int(strings_array[1])))</li>
<li><strong>table</strong> – specifies a Snowflake table name.</li>
<li><strong>query</strong> – specifies a Snowflake custom SQL query.</li>
<li><strong>expansion_service</strong> – specifies URL of expansion service.</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>Authentication parameters:</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>username</strong> – specifies username for
username/password authentication method.</li>
<li><strong>password</strong> – specifies password for
username/password authentication method.</li>
<li><strong>private_key_path</strong> – specifies a private key file for
key/ pair authentication method.</li>
<li><strong>private_key_passphrase</strong> – specifies password for
key/ pair authentication method.</li>
<li><strong>o_auth_token</strong> – specifies access token for
OAuth authentication method.</li>
</ul>
</td>
</tr>
</tbody>
</table>
<dl class="attribute">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflake.URN">
<code class="descname">URN</code><em class="property"> = 'beam:external:java:snowflake:read:v1'</em><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflake.URN" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.external.snowflake.ReadFromSnowflake.expand">
<code class="descname">expand</code><span class="sig-paren">(</span><em>pbegin</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/external/snowflake.html#ReadFromSnowflake.expand"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.external.snowflake.ReadFromSnowflake.expand" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

</dd></dl>

</div>


           </div>
           
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="apache_beam.io.flink.html" class="btn btn-neutral float-right" title="apache_beam.io.flink package" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="apache_beam.io.external.kafka.html" class="btn btn-neutral float-left" title="apache_beam.io.external.kafka module" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <p>
        &copy; Copyright 

    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>

        </div>
      </div>

    </section>

  </div>
  


  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
   

</body>
</html>