



<!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>airflow.contrib.hooks.qubole_hook &mdash; Airflow 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="airflow.contrib.hooks.redis_hook" href="../redis_hook/index.html" />
    <link rel="prev" title="airflow.contrib.hooks.qubole_check_hook" href="../qubole_check_hook/index.html" />
   
  <script>
    document.addEventListener('DOMContentLoaded', function() {
      var el = document.getElementById('changelog');
      if (el !== null ) {
        // [AIRFLOW-...]
        el.innerHTML = el.innerHTML.replace(
            /\[(AIRFLOW-[\d]+)\]/g,
            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
        );
        // (#...)
        el.innerHTML = el.innerHTML.replace(
            /\(#([\d]+)\)/g,
            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
        );
      };
    })
  </script>
  <style>
    .example-header {
      position: relative;
      background: #9AAA7A;
      padding: 8px 16px;
      margin-bottom: 0;
    }
    .example-header--with-button {
      padding-right: 166px;
    }
    .example-header:after{
      content: '';
      display: table;
      clear: both;
    }
    .example-title {
      display:block;
      padding: 4px;
      margin-right: 16px;
      color: white;
      overflow-x: auto;
    }
    .example-header-button {
      top: 8px;
      right: 16px;
      position: absolute;
    }
    .example-header + .highlight-python {
      margin-top: 0 !important;
    }
    .viewcode-button {
      display: inline-block;
      padding: 8px 16px;
      border: 0;
      margin: 0;
      outline: 0;
      border-radius: 2px;
      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
      color: #404040;
      background-color: #e7e7e7;
      cursor: pointer;
      font-size: 16px;
      font-weight: 500;
      line-height: 1;
      text-decoration: none;
      text-overflow: ellipsis;
      overflow: hidden;
      text-transform: uppercase;
      -webkit-transition: background-color .2s;
      transition: background-color .2s;
      vertical-align: middle;
      white-space: nowrap;
    }
    .viewcode-button:visited {
      color: #404040;
    }
    .viewcode-button:hover, .viewcode-button:focus {
      color: #404040;
      background-color: #d6d6d6;
    }
  </style>
<!-- Matomo -->
<script>
  var _paq = window._paq = window._paq || [];
  _paq.push(['disableCookies']);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://analytics.apache.org/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '13']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo -->
</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"> Airflow
          

          
          </a>

          
            
            
              <div class="version">
                1.10.4
              </div>
            
          

          
<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="../../../../../project.html">Project</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
</ul>
</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">Airflow</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="../../../../index.html">API Reference</a> &raquo;</li>
        
          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
        
      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.qubole_hook</span></code></li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="../../../../../_sources/_api/airflow/contrib/hooks/qubole_hook/index.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-airflow.contrib.hooks.qubole_hook">
<span id="airflow-contrib-hooks-qubole-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.qubole_hook" title="airflow.contrib.hooks.qubole_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.qubole_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.qubole_hook" title="Permalink to this headline">¶</a></h1>
<div class="section" id="module-contents">
<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
<dl class="data">
<dt id="airflow.contrib.hooks.qubole_hook.COMMAND_CLASSES">
<code class="sig-prename descclassname">airflow.contrib.hooks.qubole_hook.</code><code class="sig-name descname">COMMAND_CLASSES</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#COMMAND_CLASSES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.COMMAND_CLASSES" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="data">
<dt id="airflow.contrib.hooks.qubole_hook.POSITIONAL_ARGS">
<code class="sig-prename descclassname">airflow.contrib.hooks.qubole_hook.</code><code class="sig-name descname">POSITIONAL_ARGS</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#POSITIONAL_ARGS"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.POSITIONAL_ARGS" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="function">
<dt id="airflow.contrib.hooks.qubole_hook.flatten_list">
<code class="sig-prename descclassname">airflow.contrib.hooks.qubole_hook.</code><code class="sig-name descname">flatten_list</code><span class="sig-paren">(</span><em class="sig-param">list_of_lists</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#flatten_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.flatten_list" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="function">
<dt id="airflow.contrib.hooks.qubole_hook.filter_options">
<code class="sig-prename descclassname">airflow.contrib.hooks.qubole_hook.</code><code class="sig-name descname">filter_options</code><span class="sig-paren">(</span><em class="sig-param">options</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#filter_options"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.filter_options" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="function">
<dt id="airflow.contrib.hooks.qubole_hook.get_options_list">
<code class="sig-prename descclassname">airflow.contrib.hooks.qubole_hook.</code><code class="sig-name descname">get_options_list</code><span class="sig-paren">(</span><em class="sig-param">command_class</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#get_options_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.get_options_list" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="function">
<dt id="airflow.contrib.hooks.qubole_hook.build_command_args">
<code class="sig-prename descclassname">airflow.contrib.hooks.qubole_hook.</code><code class="sig-name descname">build_command_args</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#build_command_args"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.build_command_args" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="class">
<dt id="airflow.contrib.hooks.qubole_hook.QuboleHook">
<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.qubole_hook.</code><code class="sig-name descname">QuboleHook</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#QuboleHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.QuboleHook" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
<dl class="method">
<dt id="airflow.contrib.hooks.qubole_hook.QuboleHook.handle_failure_retry">
<em class="property">static </em><code class="sig-name descname">handle_failure_retry</code><span class="sig-paren">(</span><em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#QuboleHook.handle_failure_retry"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.QuboleHook.handle_failure_retry" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="airflow.contrib.hooks.qubole_hook.QuboleHook.execute">
<code class="sig-name descname">execute</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#QuboleHook.execute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.QuboleHook.execute" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="airflow.contrib.hooks.qubole_hook.QuboleHook.kill">
<code class="sig-name descname">kill</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">ti</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#QuboleHook.kill"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.QuboleHook.kill" title="Permalink to this definition">¶</a></dt>
<dd><p>Kill (cancel) a Qubole command
:param ti: Task Instance of the dag, used to determine the Quboles command id
:return: response from Qubole</p>
</dd></dl>

<dl class="method">
<dt id="airflow.contrib.hooks.qubole_hook.QuboleHook.get_results">
<code class="sig-name descname">get_results</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">ti=None</em>, <em class="sig-param">fp=None</em>, <em class="sig-param">inline=True</em>, <em class="sig-param">delim=None</em>, <em class="sig-param">fetch=True</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#QuboleHook.get_results"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.QuboleHook.get_results" title="Permalink to this definition">¶</a></dt>
<dd><p>Get results (or just s3 locations) of a command from Qubole and save into a file
:param ti: Task Instance of the dag, used to determine the Quboles command id
:param fp: Optional file pointer, will create one and return if None passed
:param inline: True to download actual results, False to get s3 locations only
:param delim: Replaces the CTL-A chars with the given delim, defaults to ‘,’
:param fetch: when inline is True, get results directly from s3 (if large)
:return: file location containing actual results or s3 locations of results</p>
</dd></dl>

<dl class="method">
<dt id="airflow.contrib.hooks.qubole_hook.QuboleHook.get_log">
<code class="sig-name descname">get_log</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">ti</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#QuboleHook.get_log"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.QuboleHook.get_log" title="Permalink to this definition">¶</a></dt>
<dd><p>Get Logs of a command from Qubole
:param ti: Task Instance of the dag, used to determine the Quboles command id
:return: command log as text</p>
</dd></dl>

<dl class="method">
<dt id="airflow.contrib.hooks.qubole_hook.QuboleHook.get_jobs_id">
<code class="sig-name descname">get_jobs_id</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">ti</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#QuboleHook.get_jobs_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.QuboleHook.get_jobs_id" title="Permalink to this definition">¶</a></dt>
<dd><p>Get jobs associated with a Qubole commands
:param ti: Task Instance of the dag, used to determine the Quboles command id
:return: Job information associated with command</p>
</dd></dl>

<dl class="method">
<dt id="airflow.contrib.hooks.qubole_hook.QuboleHook.get_extra_links">
<code class="sig-name descname">get_extra_links</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">operator</em>, <em class="sig-param">dttm</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#QuboleHook.get_extra_links"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.QuboleHook.get_extra_links" title="Permalink to this definition">¶</a></dt>
<dd><p>Get link to qubole command result page.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>operator</strong> – operator</p></li>
<li><p><strong>dttm</strong> – datetime</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>url link</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="airflow.contrib.hooks.qubole_hook.QuboleHook.create_cmd_args">
<code class="sig-name descname">create_cmd_args</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/qubole_hook.html#QuboleHook.create_cmd_args"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.qubole_hook.QuboleHook.create_cmd_args" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

</dd></dl>

</div>
</div>


           </div>
           
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="../redis_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.redis_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="../qubole_check_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.qubole_check_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <p>

    </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>
