Modified: tajo/site/docs/devel/configuration/ha_configuration.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/configuration/ha_configuration.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/configuration/ha_configuration.html (original) +++ tajo/site/docs/devel/configuration/ha_configuration.html Tue Sep 1 06:42:40 2015 @@ -111,7 +111,9 @@ </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../functions.html">Functions</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> @@ -221,14 +223,14 @@ </div> <div class="section" id="configuration-file-settings"> <h2>Configuration File Settings<a class="headerlink" href="#configuration-file-settings" title="Permalink to this headline">¶</a></h2> -<p>If you want to use TajoMaster HA mode, specific your <code class="docutils literal"><span class="pre">tajo.master.ha.enable</span></code> as follows:</p> +<p>If you want to use TajoMaster HA mode, specific your <tt class="docutils literal"><span class="pre">tajo.master.ha.enable</span></tt> as follows:</p> <div class="highlight-xml"><div class="highlight"><pre><span class="nt"><property></span> <span class="nt"><name></span>tajo.master.ha.enable<span class="nt"></name></span> <span class="nt"><value></span>true<span class="nt"></value></span> <span class="nt"></property></span> </pre></div> </div> -<p>If you use HA mode, all back masters monitor the active master at 5 second intervals. If you update this period, specific your <code class="docutils literal"><span class="pre">tajo.master.ha.monitor.interval</span></code> as follows:</p> +<p>If you use HA mode, all back masters monitor the active master at 5 second intervals. If you update this period, specific your <tt class="docutils literal"><span class="pre">tajo.master.ha.monitor.interval</span></tt> as follows:</p> <div class="highlight-xml"><div class="highlight"><pre><span class="nt"><property></span> <span class="nt"><name></span>tajo.master.ha.monitor.interval<span class="nt"></name></span> <span class="nt"><value></span>monitor interval<span class="nt"></value></span> @@ -238,7 +240,7 @@ </div> <div class="section" id="backup-master-settings"> <h2>Backup Master Settings<a class="headerlink" href="#backup-master-settings" title="Permalink to this headline">¶</a></h2> -<p>If you want to run masters with <code class="docutils literal"><span class="pre">start-tajo.sh</span></code>, specific your masters in <code class="docutils literal"><span class="pre">conf/masters</span></code>. The file lists all host names of masters, one per line.By default, this file contains the single entry <code class="docutils literal"><span class="pre">localhost</span></code>. You can easily add host names of workers via your favorite text editor.</p> +<p>If you want to run masters with <tt class="docutils literal"><span class="pre">start-tajo.sh</span></tt>, specific your masters in <tt class="docutils literal"><span class="pre">conf/masters</span></tt>. The file lists all host names of masters, one per line.By default, this file contains the single entry <tt class="docutils literal"><span class="pre">localhost</span></tt>. You can easily add host names of workers via your favorite text editor.</p> <p>For example:</p> <div class="highlight-python"><div class="highlight"><pre>$ cat > conf/masters host1.domain.com @@ -251,7 +253,7 @@ host2.domain.com <p>And then, you need to setup tarball and set configuration files on backup masters.</p> <div class="admonition note"> <p class="first admonition-title">Note</p> -<p>If you want to run active master and backup master on the same host, you may find TajoMaster port conflicts. To avoid this problem, you must convert backup master primary ports to another port in <code class="docutils literal"><span class="pre">tajo-site.xml</span></code> as follows:</p> +<p>If you want to run active master and backup master on the same host, you may find TajoMaster port conflicts. To avoid this problem, you must convert backup master primary ports to another port in <tt class="docutils literal"><span class="pre">tajo-site.xml</span></tt> as follows:</p> <div class="highlight-xml"><div class="highlight"><pre><span class="nt"><property></span> <span class="nt"><name></span>tajo.master.umbilical-rpc.address<span class="nt"></name></span> <span class="nt"><value></span>localhost:36001<span class="nt"></value></span> @@ -283,12 +285,12 @@ host2.domain.com <span class="nt"></property></span> </pre></div> </div> -<p class="last">And you need to convert <code class="docutils literal"><span class="pre">TAJO_PID_DIR</span></code> to another directory in <code class="docutils literal"><span class="pre">tajo-env.sh</span></code>.</p> +<p class="last">And you need to convert <tt class="docutils literal"><span class="pre">TAJO_PID_DIR</span></tt> to another directory in <tt class="docutils literal"><span class="pre">tajo-env.sh</span></tt>.</p> </div> </div> <div class="section" id="launch-a-tajo-cluster"> <h2>Launch a Tajo cluster<a class="headerlink" href="#launch-a-tajo-cluster" title="Permalink to this headline">¶</a></h2> -<p>Then, execute <code class="docutils literal"><span class="pre">start-tajo.sh</span></code></p> +<p>Then, execute <tt class="docutils literal"><span class="pre">start-tajo.sh</span></tt></p> <div class="highlight-python"><div class="highlight"><pre>$ $TAJO_HOME/bin/start-tajo.sh </pre></div> </div> @@ -299,19 +301,19 @@ host2.domain.com </div> <div class="section" id="administration-ha-state"> <h2>Administration HA state<a class="headerlink" href="#administration-ha-state" title="Permalink to this headline">¶</a></h2> -<p>If you want to transit any backup master to active master, execute <code class="docutils literal"><span class="pre">tajo</span> <span class="pre">hadmin</span> <span class="pre">-transitionToActive</span></code></p> +<p>If you want to transit any backup master to active master, execute <tt class="docutils literal"><span class="pre">tajo</span> <span class="pre">hadmin</span> <span class="pre">-transitionToActive</span></tt></p> <div class="highlight-python"><div class="highlight"><pre>$ $TAJO_HOME/bin/tajo haadmin -transitionToActive <target tajo.master.umbilical-rpc.address> </pre></div> </div> -<p>If you want to transit any active master to backup master, execute <code class="docutils literal"><span class="pre">tajo</span> <span class="pre">hadmin</span> <span class="pre">-transitionToBackup</span></code></p> +<p>If you want to transit any active master to backup master, execute <tt class="docutils literal"><span class="pre">tajo</span> <span class="pre">hadmin</span> <span class="pre">-transitionToBackup</span></tt></p> <div class="highlight-python"><div class="highlight"><pre>$ $TAJO_HOME/bin/tajo haadmin -transitionToBackup <target tajo.master.umbilical-rpc.address> </pre></div> </div> -<p>If you want to find the state of any master, execute <code class="docutils literal"><span class="pre">tajo</span> <span class="pre">hadmin</span> <span class="pre">-getState</span></code></p> +<p>If you want to find the state of any master, execute <tt class="docutils literal"><span class="pre">tajo</span> <span class="pre">hadmin</span> <span class="pre">-getState</span></tt></p> <div class="highlight-python"><div class="highlight"><pre>$ $TAJO_HOME/bin/tajo haadmin -getState <target tajo.master.umbilical-rpc.address> </pre></div> </div> -<p>If you want to initiate HA information, execute <code class="docutils literal"><span class="pre">tajo</span> <span class="pre">haadmin</span> <span class="pre">-formatHA</span></code></p> +<p>If you want to initiate HA information, execute <tt class="docutils literal"><span class="pre">tajo</span> <span class="pre">haadmin</span> <span class="pre">-formatHA</span></tt></p> <div class="highlight-python"><div class="highlight"><pre>$ $TAJO_HOME/bin/tajo haadmin -formatHA </pre></div> </div> @@ -323,7 +325,7 @@ host2.domain.com <div class="section" id="how-to-test-automatic-failover"> <h2>How to Test Automatic Failover<a class="headerlink" href="#how-to-test-automatic-failover" title="Permalink to this headline">¶</a></h2> <p>If you want to verify automatic failover of TajoMaster, you must deploy your Tajo cluster with TajoMaster HA enable. And then, you need to find which node is active from Tajo web UI.</p> -<p>Once you find your active TajoMaster, you can cause a failure on that node. For example, you can use kill -9 <pid of TajoMaster> to simulate a JVM crash. Or you can shutdown the machine or disconnect network interface. And then, the backup TajoMaster will be automatically active within 5 seconds. The amount of time required to detect a failure and trigger a failover depends on the config <code class="docutils literal"><span class="pre">tajo.master.ha.monitor.interval</span></code>. If there is running queries, it will be finished successfully. Because your TajoClient will get the result data on TajoWorker. But you can’t find already query history. Because TajoMaster stores query history on memory. So, the other master can’t access already active master query history. And if there is no running query, the automatic failover run successfully.</p> +<p>Once you find your active TajoMaster, you can cause a failure on that node. For example, you can use kill -9 <pid of TajoMaster> to simulate a JVM crash. Or you can shutdown the machine or disconnect network interface. And then, the backup TajoMaster will be automatically active within 5 seconds. The amount of time required to detect a failure and trigger a failover depends on the config <tt class="docutils literal"><span class="pre">tajo.master.ha.monitor.interval</span></tt>. If there is running queries, it will be finished successfully. Because your TajoClient will get the result data on TajoWorker. But you can’t find already query history. Because TajoMaster stores query history on memory. So, the other master can’t access already active master query history. And if there is no running query, the automatic failover run successfully.</p> <div class="admonition note"> <p class="first admonition-title">Note</p> <p class="last">TajoMaster HA does not consider TajoWorker failure. It guarantees the high availability of both TajoResourceManager and QueryMaster.</p>
Modified: tajo/site/docs/devel/configuration/preliminary.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/configuration/preliminary.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/configuration/preliminary.html (original) +++ tajo/site/docs/devel/configuration/preliminary.html Tue Sep 1 06:42:40 2015 @@ -111,7 +111,9 @@ </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../functions.html">Functions</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> @@ -213,7 +215,7 @@ <li>catalog-site.xml - configuration for the catalog server.</li> <li>tajo-site.xml - configuration for other tajo modules.</li> </ul> -<p>Each config consists of a pair of a name and a value. If you want to set the config name <code class="docutils literal"><span class="pre">a.b.c</span></code> with the value <code class="docutils literal"><span class="pre">123</span></code>, add the following element to an appropriate file.</p> +<p>Each config consists of a pair of a name and a value. If you want to set the config name <tt class="docutils literal"><span class="pre">a.b.c</span></tt> with the value <tt class="docutils literal"><span class="pre">123</span></tt>, add the following element to an appropriate file.</p> <div class="highlight-xml"><div class="highlight"><pre><span class="nt"><property></span> <span class="nt"><name></span>a.b.c<span class="nt"></name></span> <span class="nt"><value></span>123<span class="nt"></value></span> @@ -221,7 +223,7 @@ </pre></div> </div> <p>Tajo has a variety of internal configs. If you don’t set some config explicitly, the default config will be used for for that config. Tajo is designed to use only a few of configs in usual cases. You may not be concerned with the configuration.</p> -<p>In default, there is no <code class="docutils literal"><span class="pre">tajo-site.xml</span></code> in <code class="docutils literal"><span class="pre">${TAJO}/conf</span></code> directory. If you set some configs, first copy <code class="docutils literal"><span class="pre">$TAJO_HOME/conf/tajo-site.xml.templete</span></code> to <code class="docutils literal"><span class="pre">tajo-site.xml</span></code>. Then, add the configs to your tajo-site.</p> +<p>In default, there is no <tt class="docutils literal"><span class="pre">tajo-site.xml</span></tt> in <tt class="docutils literal"><span class="pre">${TAJO}/conf</span></tt> directory. If you set some configs, first copy <tt class="docutils literal"><span class="pre">$TAJO_HOME/conf/tajo-site.xml.templete</span></tt> to <tt class="docutils literal"><span class="pre">tajo-site.xml</span></tt>. Then, add the configs to your tajo-site.</p> </div> <div class="section" id="tajo-env-sh"> <h2>tajo-env.sh<a class="headerlink" href="#tajo-env-sh" title="Permalink to this headline">¶</a></h2> Modified: tajo/site/docs/devel/configuration/service_config_defaults.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/configuration/service_config_defaults.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/configuration/service_config_defaults.html (original) +++ tajo/site/docs/devel/configuration/service_config_defaults.html Tue Sep 1 06:42:40 2015 @@ -111,7 +111,9 @@ </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../functions.html">Functions</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> Modified: tajo/site/docs/devel/configuration/tajo-site-xml.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/configuration/tajo-site-xml.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/configuration/tajo-site-xml.html (original) +++ tajo/site/docs/devel/configuration/tajo-site-xml.html Tue Sep 1 06:42:40 2015 @@ -111,7 +111,9 @@ </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../functions.html">Functions</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> @@ -206,7 +208,7 @@ <div class="section" id="the-tajo-site-xml-file"> <h1>The tajo-site.xml File<a class="headerlink" href="#the-tajo-site-xml-file" title="Permalink to this headline">¶</a></h1> -<p>To the <code class="docutils literal"><span class="pre">core-site.xml</span></code> file on every host in your cluster, you must add the following information:</p> +<p>To the <tt class="docutils literal"><span class="pre">core-site.xml</span></tt> file on every host in your cluster, you must add the following information:</p> <div class="section" id="system-config"> <h2>System Config<a class="headerlink" href="#system-config" title="Permalink to this headline">¶</a></h2> </div> Modified: tajo/site/docs/devel/configuration/tajo_master_configuration.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/configuration/tajo_master_configuration.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/configuration/tajo_master_configuration.html (original) +++ tajo/site/docs/devel/configuration/tajo_master_configuration.html Tue Sep 1 06:42:40 2015 @@ -111,7 +111,9 @@ </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../functions.html">Functions</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> @@ -215,12 +217,12 @@ <span class="nt"></property></span> </pre></div> </div> -<p>Tajo rootdir must be a url form like <code class="docutils literal"><span class="pre">scheme://hostname:port/path</span></code>. The current implementaion only supports <code class="docutils literal"><span class="pre">hdfs://</span></code> and <code class="docutils literal"><span class="pre">file://</span></code> schemes. The default value is <code class="docutils literal"><span class="pre">file:///tmp/tajo-${user.name}/</span></code>.</p> +<p>Tajo rootdir must be a url form like <tt class="docutils literal"><span class="pre">scheme://hostname:port/path</span></tt>. The current implementaion only supports <tt class="docutils literal"><span class="pre">hdfs://</span></tt> and <tt class="docutils literal"><span class="pre">file://</span></tt> schemes. The default value is <tt class="docutils literal"><span class="pre">file:///tmp/tajo-${user.name}/</span></tt>.</p> </div> <div class="section" id="tajomaster-heap-memory-size"> <h2>TajoMaster Heap Memory Size<a class="headerlink" href="#tajomaster-heap-memory-size" title="Permalink to this headline">¶</a></h2> <p>The environment variable TAJO_MASTER_HEAPSIZE in conf/tajo-env.sh allow Tajo Master to use the specified heap memory size.</p> -<p>If you want to adjust heap memory size, set <code class="docutils literal"><span class="pre">TAJO_MASTER_HEAPSIZE</span></code> variable in <code class="docutils literal"><span class="pre">conf/tajo-env.sh</span></code> with a proper size as follows:</p> +<p>If you want to adjust heap memory size, set <tt class="docutils literal"><span class="pre">TAJO_MASTER_HEAPSIZE</span></tt> variable in <tt class="docutils literal"><span class="pre">conf/tajo-env.sh</span></tt> with a proper size as follows:</p> <div class="highlight-sh"><div class="highlight"><pre><span class="nv">TAJO_MASTER_HEAPSIZE</span><span class="o">=</span>2000 </pre></div> </div> Modified: tajo/site/docs/devel/configuration/worker_configuration.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/configuration/worker_configuration.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/configuration/worker_configuration.html (original) +++ tajo/site/docs/devel/configuration/worker_configuration.html Tue Sep 1 06:42:40 2015 @@ -111,7 +111,9 @@ </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../functions.html">Functions</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> @@ -208,8 +210,8 @@ <h1>Worker Configuration<a class="headerlink" href="#worker-configuration" title="Permalink to this headline">¶</a></h1> <div class="section" id="worker-heap-memory-size"> <h2>Worker Heap Memory Size<a class="headerlink" href="#worker-heap-memory-size" title="Permalink to this headline">¶</a></h2> -<p>The environment variable <code class="docutils literal"><span class="pre">TAJO_WORKER_HEAPSIZE</span></code> in <code class="docutils literal"><span class="pre">conf/tajo-env.sh</span></code> allow Tajo Worker to use the specified heap memory size.</p> -<p>If you want to adjust heap memory size, set <code class="docutils literal"><span class="pre">TAJO_WORKER_HEAPSIZE</span></code> variable in <code class="docutils literal"><span class="pre">conf/tajo-env.sh</span></code> with a proper size as follows:</p> +<p>The environment variable <tt class="docutils literal"><span class="pre">TAJO_WORKER_HEAPSIZE</span></tt> in <tt class="docutils literal"><span class="pre">conf/tajo-env.sh</span></tt> allow Tajo Worker to use the specified heap memory size.</p> +<p>If you want to adjust heap memory size, set <tt class="docutils literal"><span class="pre">TAJO_WORKER_HEAPSIZE</span></tt> variable in <tt class="docutils literal"><span class="pre">conf/tajo-env.sh</span></tt> with a proper size as follows:</p> <div class="highlight-bash"><div class="highlight"><pre><span class="nv">TAJO_WORKER_HEAPSIZE</span><span class="o">=</span>8000 </pre></div> </div> @@ -218,7 +220,7 @@ <div class="section" id="temporary-data-directory"> <h2>Temporary Data Directory<a class="headerlink" href="#temporary-data-directory" title="Permalink to this headline">¶</a></h2> <p>TajoWorker stores temporary data on local file system due to out-of-core algorithms. It is possible to specify one or more temporary data directories where temporary data will be stored.</p> -<p><code class="docutils literal"><span class="pre">tajo-site.xml</span></code></p> +<p><tt class="docutils literal"><span class="pre">tajo-site.xml</span></tt></p> <div class="highlight-xml"><div class="highlight"><pre><span class="nt"><property></span> <span class="nt"><name></span>tajo.worker.tmpdir.locations<span class="nt"></name></span> <span class="nt"><value></span>/disk1/tmpdir,/disk2/tmpdir,/disk3/tmpdir<span class="nt"></value></span> @@ -235,7 +237,7 @@ <p>Each worker can execute multiple tasks simultaneously.</p> <p>In Tajo, users can specify the number of cpu cores, the total size of memory and the number of disks for each worker. Available resources affect how many tasks are executed simultaneously. CPU cores are a unit for expressing CPU parallelism, the unit for memory is megabytes and the unit for disks is the number of disk</p> -<p>In order to specify the resource capacity of each worker, you should add the following configs to <code class="docutils literal"><span class="pre">tajo-site.xml</span></code> :</p> +<p>In order to specify the resource capacity of each worker, you should add the following configs to <tt class="docutils literal"><span class="pre">tajo-site.xml</span></tt> :</p> <table border="1" class="docutils"> <colgroup> <col width="32%" /> @@ -281,21 +283,21 @@ CPU cores are a unit for expressing CPU <div class="admonition note"> <p class="first admonition-title">Note</p> <p class="last">Currently, QueryMaster requests 500MB memory and 1 cpu-core per task for the backward compatibility. -If you want to give more memory, you can set to <code class="docutils literal"><span class="pre">tajo.qm.resource.min.memory-mb</span></code></p> +If you want to give more memory, you can set to <tt class="docutils literal"><span class="pre">tajo.qm.resource.min.memory-mb</span></tt></p> </div> <div class="admonition note"> <p class="first admonition-title">Note</p> -<p class="last">If <code class="docutils literal"><span class="pre">tajo.worker.resource.dfs-dir-aware</span></code> is set to <code class="docutils literal"><span class="pre">true</span></code> in <code class="docutils literal"><span class="pre">tajo-site.xml</span></code>, the worker will aware of and use the number of HDFS datanode’s data dirs in the node. -In other words, <code class="docutils literal"><span class="pre">tajo.worker.resource.disks</span></code> is ignored.</p> +<p class="last">If <tt class="docutils literal"><span class="pre">tajo.worker.resource.dfs-dir-aware</span></tt> is set to <tt class="docutils literal"><span class="pre">true</span></tt> in <tt class="docutils literal"><span class="pre">tajo-site.xml</span></tt>, the worker will aware of and use the number of HDFS datanode’s data dirs in the node. +In other words, <tt class="docutils literal"><span class="pre">tajo.worker.resource.disks</span></tt> is ignored.</p> </div> <div class="section" id="example"> <h3>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h3> <p>Assume that you want to give 15GB Jvm heap, 1GB memory per task, 4 disks, and 12 cores on each worker. The example configuration is as follows:</p> -<p><code class="docutils literal"><span class="pre">tajo-env.sh</span></code></p> +<p><tt class="docutils literal"><span class="pre">tajo-env.sh</span></tt></p> <div class="highlight-bash"><div class="highlight"><pre><span class="nb">export </span><span class="nv">TAJO_WORKER_HEAPSIZE</span><span class="o">=</span>15000 </pre></div> </div> -<p><code class="docutils literal"><span class="pre">tajo-site.xml</span></code></p> +<p><tt class="docutils literal"><span class="pre">tajo-site.xml</span></tt></p> <div class="highlight-xml"><div class="highlight"><pre><span class="nt"><property></span> <span class="nt"><name></span>tajo.worker.resource.tajo.worker.resource.cpu-cores<span class="nt"></name></span> <span class="nt"><value></span>12<span class="nt"></value></span> @@ -315,11 +317,11 @@ In other words, <code class="docutils li <ul class="simple"> <li>Example with HDFS</li> </ul> -<p><code class="docutils literal"><span class="pre">tajo-env.sh</span></code></p> +<p><tt class="docutils literal"><span class="pre">tajo-env.sh</span></tt></p> <div class="highlight-bash"><div class="highlight"><pre><span class="nb">export </span><span class="nv">TAJO_WORKER_HEAPSIZE</span><span class="o">=</span>15000 </pre></div> </div> -<p><code class="docutils literal"><span class="pre">tajo-site.xml</span></code></p> +<p><tt class="docutils literal"><span class="pre">tajo-site.xml</span></tt></p> <div class="highlight-xml"><div class="highlight"><pre> <span class="nt"><property></span> <span class="nt"><name></span>tajo.task.resource.min.memory-mb<span class="nt"></name></span> <span class="nt"><value></span>1000<span class="nt"></value></span> @@ -334,11 +336,11 @@ In other words, <code class="docutils li <ul class="simple"> <li>Example with S3</li> </ul> -<p><code class="docutils literal"><span class="pre">tajo-env.sh</span></code></p> +<p><tt class="docutils literal"><span class="pre">tajo-env.sh</span></tt></p> <div class="highlight-bash"><div class="highlight"><pre><span class="nb">export </span><span class="nv">TAJO_WORKER_HEAPSIZE</span><span class="o">=</span>15000 </pre></div> </div> -<p><code class="docutils literal"><span class="pre">tajo-site.xml</span></code></p> +<p><tt class="docutils literal"><span class="pre">tajo-site.xml</span></tt></p> <div class="highlight-xml"><div class="highlight"><pre> <span class="nt"><property></span> <span class="nt"><name></span>tajo.task.resource.min.memory-mb<span class="nt"></name></span> <span class="nt"><value></span>1000<span class="nt"></value></span> Modified: tajo/site/docs/devel/faq.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/faq.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/faq.html (original) +++ tajo/site/docs/devel/faq.html Tue Sep 1 06:42:40 2015 @@ -109,7 +109,9 @@ </ul> </li> <li class="toctree-l1"><a class="reference internal" href="functions.html">Functions</a><ul> -<li class="toctree-l2"><a class="reference internal" href="functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> Modified: tajo/site/docs/devel/functions.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/functions.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/functions.html (original) +++ tajo/site/docs/devel/functions.html Tue Sep 1 06:42:40 2015 @@ -29,7 +29,7 @@ <link rel="top" title="Apache Tajo 0.11.0 documentation" href="index.html"/> - <link rel="next" title="Math Functions and Operators" href="functions/math_func_and_operators.html"/> + <link rel="next" title="Data Type Functions and Operators" href="functions/data_type_func_and_operators.html"/> <link rel="prev" title="Time Zone" href="time_zone.html"/> @@ -110,7 +110,9 @@ </ul> </li> <li class="toctree-l1 current"><a class="current reference internal" href="">Functions</a><ul> -<li class="toctree-l2"><a class="reference internal" href="#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="#user-defined-functions">User-defined Functions</a></li> </ul> </li> @@ -204,10 +206,11 @@ <div class="section" id="functions"> <h1>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h1> <p>Tajo provides extensive supports for functions. It includes a lot of built-in functions and user-defined functions which is implemented in Python.</p> -<div class="section" id="built-in-functions"> -<h2>Built-in Functions<a class="headerlink" href="#built-in-functions" title="Permalink to this headline">¶</a></h2> +<div class="section" id="built-in-scalar-functions"> +<h2>Built-in Scalar Functions<a class="headerlink" href="#built-in-scalar-functions" title="Permalink to this headline">¶</a></h2> <div class="toctree-wrapper compound"> <ul> +<li class="toctree-l1"><a class="reference internal" href="functions/data_type_func_and_operators.html">Data Type Functions and Operators</a></li> <li class="toctree-l1"><a class="reference internal" href="functions/math_func_and_operators.html">Math Functions and Operators</a></li> <li class="toctree-l1"><a class="reference internal" href="functions/string_func_and_operators.html">String Functions and Operators</a></li> <li class="toctree-l1"><a class="reference internal" href="functions/datetime_func_and_operators.html">DateTime Functions and Operators</a></li> @@ -216,6 +219,22 @@ </ul> </div> </div> +<div class="section" id="built-in-aggregation-functions"> +<h2>Built-in Aggregation Functions<a class="headerlink" href="#built-in-aggregation-functions" title="Permalink to this headline">¶</a></h2> +<div class="toctree-wrapper compound"> +<ul> +<li class="toctree-l1"><a class="reference internal" href="functions/agg_func.html">Aggregation Functions</a></li> +</ul> +</div> +</div> +<div class="section" id="built-in-window-functions"> +<h2>Built-in Window Functions<a class="headerlink" href="#built-in-window-functions" title="Permalink to this headline">¶</a></h2> +<div class="toctree-wrapper compound"> +<ul> +<li class="toctree-l1"><a class="reference internal" href="functions/window_func.html">Window Functions</a></li> +</ul> +</div> +</div> <div class="section" id="user-defined-functions"> <h2>User-defined Functions<a class="headerlink" href="#user-defined-functions" title="Permalink to this headline">¶</a></h2> <div class="toctree-wrapper compound"> @@ -232,7 +251,7 @@ <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> - <a href="functions/math_func_and_operators.html" class="btn btn-neutral float-right" title="Math Functions and Operators"/>Next <span class="fa fa-arrow-circle-right"></span></a> + <a href="functions/data_type_func_and_operators.html" class="btn btn-neutral float-right" title="Data Type Functions and Operators"/>Next <span class="fa fa-arrow-circle-right"></span></a> <a href="time_zone.html" class="btn btn-neutral" title="Time Zone"><span class="fa fa-arrow-circle-left"></span> Previous</a> Modified: tajo/site/docs/devel/functions/datetime_func_and_operators.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/functions/datetime_func_and_operators.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/functions/datetime_func_and_operators.html (original) +++ tajo/site/docs/devel/functions/datetime_func_and_operators.html Tue Sep 1 06:42:40 2015 @@ -111,7 +111,9 @@ </ul> </li> <li class="toctree-l1 current"><a class="reference internal" href="../functions.html">Functions</a><ul class="current"> -<li class="toctree-l2 current"><a class="reference internal" href="../functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2 current"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> @@ -213,7 +215,7 @@ </div></blockquote> <dl class="function"> <dt id="add_days"> -<code class="descname">add_days</code><span class="sig-paren">(</span><em>date date|timestamp</em>, <em>day int</em><span class="sig-paren">)</span><a class="headerlink" href="#add_days" title="Permalink to this definition">¶</a></dt> +<tt class="descname">add_days</tt><big>(</big><em>date date|timestamp</em>, <em>day int</em><big>)</big><a class="headerlink" href="#add_days" title="Permalink to this definition">¶</a></dt> <dd><p>Returns date value which is added with given day parameter.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -243,7 +245,7 @@ <dl class="function"> <dt id="add_months"> -<code class="descname">add_months</code><span class="sig-paren">(</span><em>date date|timestamp</em>, <em>month int</em><span class="sig-paren">)</span><a class="headerlink" href="#add_months" title="Permalink to this definition">¶</a></dt> +<tt class="descname">add_months</tt><big>(</big><em>date date|timestamp</em>, <em>month int</em><big>)</big><a class="headerlink" href="#add_months" title="Permalink to this definition">¶</a></dt> <dd><p>Returns date value which is added with given month parameter.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -270,8 +272,8 @@ <dl class="function"> <dt id="current_date"> -<code class="descname">current_date</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#current_date" title="Permalink to this definition">¶</a></dt> -<dd><p>Returns current date</p> +<tt class="descname">current_date</tt><big>(</big><big>)</big><a class="headerlink" href="#current_date" title="Permalink to this definition">¶</a></dt> +<dd><p>Returns current date.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> <col class="field-body" /> @@ -288,8 +290,8 @@ <dl class="function"> <dt id="current_time"> -<code class="descname">current_time</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#current_time" title="Permalink to this definition">¶</a></dt> -<dd><p>Returns current time</p> +<tt class="descname">current_time</tt><big>(</big><big>)</big><a class="headerlink" href="#current_time" title="Permalink to this definition">¶</a></dt> +<dd><p>Returns current time.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> <col class="field-body" /> @@ -306,8 +308,23 @@ <dl class="function"> <dt id="extract"> -<code class="descname">extract</code><span class="sig-paren">(</span><em>field FROM source</em><span class="sig-paren">)</span><a class="headerlink" href="#extract" title="Permalink to this definition">¶</a></dt> +<tt class="descname">extract</tt><big>(</big><em>field FROM source date|timestamp|time</em><big>)</big><a class="headerlink" href="#extract" title="Permalink to this definition">¶</a></dt> <dd><p>The extract function retrieves subfields such as year or hour from date/time values. <em>source</em> must be a value expression of type <em>timestamp</em>, or <em>time</em>. (Expressions of type <em>date</em> are cast to <em>timestamp</em> and can therefore be used as well.) <em>field</em> is an identifier that selects what field to extract from the source value. The extract function returns values of type double precision. The following are valid field names:</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 simple"> +<li><strong>field</strong> – extract field</li> +<li><strong>source</strong> – source value</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">float8</p> +</td> +</tr> +</tbody> +</table> <p><strong>century</strong></p> <p>The century</p> <div class="highlight-sql"><div class="highlight"><pre><span class="k">select</span> <span class="k">extract</span><span class="p">(</span><span class="n">century</span> <span class="k">from</span> <span class="k">timestamp</span> <span class="s1">'2001-12-16 12:21:13'</span><span class="p">);</span> @@ -422,8 +439,23 @@ <dl class="function"> <dt id="date_part"> -<code class="descname">date_part</code><span class="sig-paren">(</span><em>'field'</em>, <em>source</em><span class="sig-paren">)</span><a class="headerlink" href="#date_part" title="Permalink to this definition">¶</a></dt> +<tt class="descname">date_part</tt><big>(</big><em>field text</em>, <em>source date|timestamp|time</em><big>)</big><a class="headerlink" href="#date_part" title="Permalink to this definition">¶</a></dt> <dd><p>Note that here the field parameter needs to be a string value, not a name. The valid field names for date_part are the same as for extract.</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 simple"> +<li><strong>field</strong> – extract field</li> +<li><strong>source</strong> – source value</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">float8</p> +</td> +</tr> +</tbody> +</table> <div class="highlight-sql"><div class="highlight"><pre><span class="k">select</span> <span class="n">date_part</span><span class="p">(</span><span class="s1">'day'</span><span class="p">,</span> <span class="k">timestamp</span> <span class="s1">'2001-02-16 20:38:40'</span><span class="p">);</span> <span class="o">></span> <span class="mi">16</span><span class="p">.</span><span class="mi">0</span> </pre></div> @@ -432,7 +464,7 @@ <dl class="function"> <dt id="now"> -<code class="descname">now</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#now" title="Permalink to this definition">¶</a></dt> +<tt class="descname">now</tt><big>(</big><big>)</big><a class="headerlink" href="#now" title="Permalink to this definition">¶</a></dt> <dd><p>Returns current timestamp</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -452,7 +484,7 @@ <dl class="function"> <dt id="to_char"> -<code class="descname">to_char</code><span class="sig-paren">(</span><em>src timestamp</em>, <em>format text</em><span class="sig-paren">)</span><a class="headerlink" href="#to_char" title="Permalink to this definition">¶</a></dt> +<tt class="descname">to_char</tt><big>(</big><em>src timestamp</em>, <em>format text</em><big>)</big><a class="headerlink" href="#to_char" title="Permalink to this definition">¶</a></dt> <dd><p>Converts timestamp to text. For more detailed, see ‘Date/Time Formatting and Conversion’ section below.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -477,7 +509,7 @@ <dl class="function"> <dt id="to_date"> -<code class="descname">to_date</code><span class="sig-paren">(</span><em>src text</em>, <em>format text</em><span class="sig-paren">)</span><a class="headerlink" href="#to_date" title="Permalink to this definition">¶</a></dt> +<tt class="descname">to_date</tt><big>(</big><em>src text</em>, <em>format text</em><big>)</big><a class="headerlink" href="#to_date" title="Permalink to this definition">¶</a></dt> <dd><p>Converts text to date. For more detailed, see ‘Date/Time Formatting and Conversion’ section below.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -502,7 +534,7 @@ <dl class="function"> <dt id="to_timestamp"> -<code class="descname">to_timestamp</code><span class="sig-paren">(</span><em>epoch int</em><span class="sig-paren">)</span><a class="headerlink" href="#to_timestamp" title="Permalink to this definition">¶</a></dt> +<tt class="descname">to_timestamp</tt><big>(</big><em>epoch int</em><big>)</big><a class="headerlink" href="#to_timestamp" title="Permalink to this definition">¶</a></dt> <dd><p>Converts int(UNIX epoch) to timestamp.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -522,7 +554,7 @@ <dl class="function"> <dt> -<code class="descname">to_timestamp</code><span class="sig-paren">(</span><em>src text</em>, <em>format text</em><span class="sig-paren">)</span></dt> +<tt class="descname">to_timestamp</tt><big>(</big><em>src text</em>, <em>format text</em><big>)</big></dt> <dd><p>Converts text timestamp. For more detailed, see ‘Date/Time Formatting and Conversion’ section below.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -547,7 +579,7 @@ <dl class="function"> <dt id="utc_usec_to"> -<code class="descname">utc_usec_to</code><span class="sig-paren">(</span><em>string text</em>, <em>long timestamp</em>, <em>int dayOfWeek</em><span class="sig-paren">)</span><a class="headerlink" href="#utc_usec_to" title="Permalink to this definition">¶</a></dt> +<tt class="descname">utc_usec_to</tt><big>(</big><em>string text</em>, <em>timestamp long</em>, <em>dayOfWeek int</em><big>)</big><a class="headerlink" href="#utc_usec_to" title="Permalink to this definition">¶</a></dt> <dd><ul> <li><p class="first">If the <strong>first parameter</strong> is ‘day’.</p> <p>Shifts and return a UNIX timestamp in microseconds to the beginning of the day it occurs in. Modified: tajo/site/docs/devel/functions/json_func.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/functions/json_func.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/functions/json_func.html (original) +++ tajo/site/docs/devel/functions/json_func.html Tue Sep 1 06:42:40 2015 @@ -30,7 +30,7 @@ <link rel="top" title="Apache Tajo 0.11.0 documentation" href="../index.html"/> <link rel="up" title="Functions" href="../functions.html"/> - <link rel="next" title="Python Functions" href="python.html"/> + <link rel="next" title="Aggregation Functions" href="agg_func.html"/> <link rel="prev" title="Network Functions and Operators" href="network_func_and_operators.html"/> @@ -111,7 +111,9 @@ </ul> </li> <li class="toctree-l1 current"><a class="reference internal" href="../functions.html">Functions</a><ul class="current"> -<li class="toctree-l2 current"><a class="reference internal" href="../functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2 current"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> @@ -208,15 +210,16 @@ <h1>JSON Functions<a class="headerlink" href="#json-functions" title="Permalink to this headline">¶</a></h1> <dl class="function"> <dt id="json_extract_path_text"> -<code class="descname">json_extract_path_text</code><span class="sig-paren">(</span><em>string json</em>, <em>string xpath</em><span class="sig-paren">)</span><a class="headerlink" href="#json_extract_path_text" title="Permalink to this definition">¶</a></dt> -<dd><p>Extracts JSON string from a JSON string based on json path specified and returns JSON string pointed to by xPath</p> +<tt class="descname">json_extract_path_text</tt><big>(</big><em>json text</em>, <em>json_path text</em><big>)</big><a class="headerlink" href="#json_extract_path_text" title="Permalink to this definition">¶</a></dt> +<dd><p>Extracts JSON string from a JSON string based on json path specified and returns JSON string pointed to by JSONPath. +Returns null if either argument is null.</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 simple"> -<li><strong>string</strong> – </li> -<li><strong>string</strong> – </li> +<li><strong>json</strong> – JSON string</li> +<li><strong>json_path</strong> – JSONpath</li> </ul> </td> </tr> @@ -227,12 +230,91 @@ </tr> </tbody> </table> -<div class="highlight-sql"><div class="highlight"><pre><span class="n">json_extract_path_text</span><span class="p">(</span><span class="s1">'{"test" : {"key" : "tajo"}}'</span><span class="p">,</span><span class="s1">'$.test.key'</span><span class="p">);</span> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">select</span> <span class="n">json_extract_path_text</span><span class="p">(</span><span class="s1">'{"test" : {"key" : "tajo"}}'</span><span class="p">,</span><span class="s1">'$.test.key'</span><span class="p">);</span> <span class="o">></span> <span class="n">tajo</span> </pre></div> </div> </dd></dl> +<dl class="function"> +<dt id="json_array_get"> +<tt class="descname">json_array_get</tt><big>(</big><em>json_array text</em>, <em>index int4</em><big>)</big><a class="headerlink" href="#json_array_get" title="Permalink to this definition">¶</a></dt> +<dd><p>Returns the element at the specified index into the JSON array. This function returns an element indexed from the end of an array with a negative index, and null if the element at the specified index doesnât exist.</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 simple"> +<li><strong>json_array</strong> – String of a JSON array</li> +<li><strong>index</strong> – index</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">text</p> +</td> +</tr> +<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"></td> +</tr> +</tbody> +</table> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">select</span> <span class="n">json_array_get</span><span class="p">(</span><span class="s1">'[100, 200, 300]'</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span> +<span class="o">></span> <span class="mi">100</span> + +<span class="k">select</span> <span class="n">json_array_get</span><span class="p">(</span><span class="s1">'[100, 200, 300]'</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span><span class="p">);</span> +<span class="o">></span> <span class="mi">200</span> +</pre></div> +</div> +</dd></dl> + +<dl class="function"> +<dt id="json_array_contains"> +<tt class="descname">json_array_contains</tt><big>(</big><em>json_array text</em>, <em>value any</em><big>)</big><a class="headerlink" href="#json_array_contains" title="Permalink to this definition">¶</a></dt> +<dd><p>Determine if the given value exists in the JSON array.</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 simple"> +<li><strong>json_array</strong> – String of a JSON array</li> +<li><strong>value</strong> – value of any type</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">text</p> +</td> +</tr> +<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"></td> +</tr> +</tbody> +</table> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">select</span> <span class="n">json_array_contains</span><span class="p">(</span><span class="s1">'[100, 200, 300]'</span><span class="p">,</span> <span class="mi">100</span><span class="p">);</span> +<span class="o">></span> <span class="n">t</span> +</pre></div> +</div> +</dd></dl> + +<dl class="function"> +<dt id="json_array_length"> +<tt class="descname">json_array_length</tt><big>(</big><em>json_array text</em><big>)</big><a class="headerlink" href="#json_array_length" title="Permalink to this definition">¶</a></dt> +<dd><p>Returns the length of json array.</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"><strong>json_array</strong> – String of a JSON array</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">int8</td> +</tr> +<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"></td> +</tr> +</tbody> +</table> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">select</span> <span class="n">json_array_length</span><span class="p">(</span><span class="s1">'[100, 200, 300]'</span><span class="p">);</span> +<span class="o">></span> <span class="mi">3</span> +</pre></div> +</div> +</dd></dl> + </div> @@ -241,7 +323,7 @@ <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> - <a href="python.html" class="btn btn-neutral float-right" title="Python Functions"/>Next <span class="fa fa-arrow-circle-right"></span></a> + <a href="agg_func.html" class="btn btn-neutral float-right" title="Aggregation Functions"/>Next <span class="fa fa-arrow-circle-right"></span></a> <a href="network_func_and_operators.html" class="btn btn-neutral" title="Network Functions and Operators"><span class="fa fa-arrow-circle-left"></span> Previous</a> Modified: tajo/site/docs/devel/functions/math_func_and_operators.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/functions/math_func_and_operators.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/functions/math_func_and_operators.html (original) +++ tajo/site/docs/devel/functions/math_func_and_operators.html Tue Sep 1 06:42:40 2015 @@ -31,7 +31,7 @@ <link rel="top" title="Apache Tajo 0.11.0 documentation" href="../index.html"/> <link rel="up" title="Functions" href="../functions.html"/> <link rel="next" title="String Functions and Operators" href="string_func_and_operators.html"/> - <link rel="prev" title="Functions" href="../functions.html"/> + <link rel="prev" title="Data Type Functions and Operators" href="data_type_func_and_operators.html"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script> @@ -111,7 +111,9 @@ </ul> </li> <li class="toctree-l1 current"><a class="reference internal" href="../functions.html">Functions</a><ul class="current"> -<li class="toctree-l2 current"><a class="reference internal" href="../functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2 current"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> @@ -208,7 +210,7 @@ <h1>Math Functions and Operators<a class="headerlink" href="#math-functions-and-operators" title="Permalink to this headline">¶</a></h1> <dl class="function"> <dt id="abs"> -<code class="descname">abs</code><span class="sig-paren">(</span><em>number int|float</em><span class="sig-paren">)</span><a class="headerlink" href="#abs" title="Permalink to this definition">¶</a></dt> +<tt class="descname">abs</tt><big>(</big><em>number int|float</em><big>)</big><a class="headerlink" href="#abs" title="Permalink to this definition">¶</a></dt> <dd><p>Returns absolute value</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -230,7 +232,7 @@ <dl class="function"> <dt id="acos"> -<code class="descname">acos</code><span class="sig-paren">(</span><em>number float</em><span class="sig-paren">)</span><a class="headerlink" href="#acos" title="Permalink to this definition">¶</a></dt> +<tt class="descname">acos</tt><big>(</big><em>number float</em><big>)</big><a class="headerlink" href="#acos" title="Permalink to this definition">¶</a></dt> <dd><p>Returns the arc cosine of number value</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -252,7 +254,7 @@ <dl class="function"> <dt id="asin"> -<code class="descname">asin</code><span class="sig-paren">(</span><em>number float</em><span class="sig-paren">)</span><a class="headerlink" href="#asin" title="Permalink to this definition">¶</a></dt> +<tt class="descname">asin</tt><big>(</big><em>number float</em><big>)</big><a class="headerlink" href="#asin" title="Permalink to this definition">¶</a></dt> <dd><p>Returns the arc sine of number value</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -274,7 +276,7 @@ <dl class="function"> <dt id="atan"> -<code class="descname">atan</code><span class="sig-paren">(</span><em>number float8</em><span class="sig-paren">)</span><a class="headerlink" href="#atan" title="Permalink to this definition">¶</a></dt> +<tt class="descname">atan</tt><big>(</big><em>number float8</em><big>)</big><a class="headerlink" href="#atan" title="Permalink to this definition">¶</a></dt> <dd><p>Returns the arc tangent of number value</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -296,7 +298,7 @@ <dl class="function"> <dt id="atan2"> -<code class="descname">atan2</code><span class="sig-paren">(</span><em>y float</em>, <em>x float</em><span class="sig-paren">)</span><a class="headerlink" href="#atan2" title="Permalink to this definition">¶</a></dt> +<tt class="descname">atan2</tt><big>(</big><em>y float</em>, <em>x float</em><big>)</big><a class="headerlink" href="#atan2" title="Permalink to this definition">¶</a></dt> <dd><p>Returns the angle theta from the conversion of rectangular coordinates (x, y) to polar coordinates (r, theta)</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -323,7 +325,7 @@ <dl class="function"> <dt id="cbrt"> -<code class="descname">cbrt</code><span class="sig-paren">(</span><em>number float</em><span class="sig-paren">)</span><a class="headerlink" href="#cbrt" title="Permalink to this definition">¶</a></dt> +<tt class="descname">cbrt</tt><big>(</big><em>number float</em><big>)</big><a class="headerlink" href="#cbrt" title="Permalink to this definition">¶</a></dt> <dd><p>Returns the cube root of a number</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -345,7 +347,7 @@ <dl class="function"> <dt id="ceil"> -<code class="descname">ceil</code><span class="sig-paren">(</span><em>number float</em><span class="sig-paren">)</span><a class="headerlink" href="#ceil" title="Permalink to this definition">¶</a></dt> +<tt class="descname">ceil</tt><big>(</big><em>number float</em><big>)</big><a class="headerlink" href="#ceil" title="Permalink to this definition">¶</a></dt> <dd><p>Returns a smallest integer not less than argument</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -355,7 +357,9 @@ </tr> <tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">int8</td> </tr> -<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"></td> +<tr class="field-odd field"><th class="field-name">Alias:</th><td class="field-body">ceiling</td> +</tr> +<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"></td> </tr> </tbody> </table> @@ -367,7 +371,7 @@ <dl class="function"> <dt id="cos"> -<code class="descname">cos</code><span class="sig-paren">(</span><em>number float</em><span class="sig-paren">)</span><a class="headerlink" href="#cos" title="Permalink to this definition">¶</a></dt> +<tt class="descname">cos</tt><big>(</big><em>number float</em><big>)</big><a class="headerlink" href="#cos" title="Permalink to this definition">¶</a></dt> <dd><p>Returns the cosine of a number</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -389,7 +393,7 @@ <dl class="function"> <dt id="degrees"> -<code class="descname">degrees</code><span class="sig-paren">(</span><em>number float</em><span class="sig-paren">)</span><a class="headerlink" href="#degrees" title="Permalink to this definition">¶</a></dt> +<tt class="descname">degrees</tt><big>(</big><em>number float</em><big>)</big><a class="headerlink" href="#degrees" title="Permalink to this definition">¶</a></dt> <dd><p>Converts radians to degrees</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -411,7 +415,7 @@ <dl class="function"> <dt id="div"> -<code class="descname">div</code><span class="sig-paren">(</span><em>num1 int</em>, <em>num2 int</em><span class="sig-paren">)</span><a class="headerlink" href="#div" title="Permalink to this definition">¶</a></dt> +<tt class="descname">div</tt><big>(</big><em>num1 int</em>, <em>num2 int</em><big>)</big><a class="headerlink" href="#div" title="Permalink to this definition">¶</a></dt> <dd><p>Integer division truncates resut</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -438,7 +442,7 @@ <dl class="function"> <dt id="exp"> -<code class="descname">exp</code><span class="sig-paren">(</span><em>number float</em><span class="sig-paren">)</span><a class="headerlink" href="#exp" title="Permalink to this definition">¶</a></dt> +<tt class="descname">exp</tt><big>(</big><em>number float</em><big>)</big><a class="headerlink" href="#exp" title="Permalink to this definition">¶</a></dt> <dd><p>Returns Euler’s number e raised to the power of a number</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -460,7 +464,7 @@ <dl class="function"> <dt id="floor"> -<code class="descname">floor</code><span class="sig-paren">(</span><em>number float</em><span class="sig-paren">)</span><a class="headerlink" href="#floor" title="Permalink to this definition">¶</a></dt> +<tt class="descname">floor</tt><big>(</big><em>number float</em><big>)</big><a class="headerlink" href="#floor" title="Permalink to this definition">¶</a></dt> <dd><p>Returns a largest integer not greater than argument</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -482,7 +486,7 @@ <dl class="function"> <dt id="mod"> -<code class="descname">mod</code><span class="sig-paren">(</span><em>num1 int</em>, <em>num2 int</em><span class="sig-paren">)</span><a class="headerlink" href="#mod" title="Permalink to this definition">¶</a></dt> +<tt class="descname">mod</tt><big>(</big><em>num1 int</em>, <em>num2 int</em><big>)</big><a class="headerlink" href="#mod" title="Permalink to this definition">¶</a></dt> <dd><p>Returns remainder of num1 / num2</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -509,7 +513,7 @@ <dl class="function"> <dt id="pi"> -<code class="descname">pi</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pi" title="Permalink to this definition">¶</a></dt> +<tt class="descname">pi</tt><big>(</big><big>)</big><a class="headerlink" href="#pi" title="Permalink to this definition">¶</a></dt> <dd><p>Returns constant value of pi</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -529,7 +533,7 @@ <dl class="function"> <dt id="pow"> -<code class="descname">pow</code><span class="sig-paren">(</span><em>x float</em>, <em>y float</em><span class="sig-paren">)</span><a class="headerlink" href="#pow" title="Permalink to this definition">¶</a></dt> +<tt class="descname">pow</tt><big>(</big><em>x float</em>, <em>y float</em><big>)</big><a class="headerlink" href="#pow" title="Permalink to this definition">¶</a></dt> <dd><p>Returns value of x raised to the power of y</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -556,7 +560,7 @@ <dl class="function"> <dt id="radians"> -<code class="descname">radians</code><span class="sig-paren">(</span><em>number float</em><span class="sig-paren">)</span><a class="headerlink" href="#radians" title="Permalink to this definition">¶</a></dt> +<tt class="descname">radians</tt><big>(</big><em>number float</em><big>)</big><a class="headerlink" href="#radians" title="Permalink to this definition">¶</a></dt> <dd><p>Converts degrees to radians</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -577,8 +581,30 @@ </dd></dl> <dl class="function"> +<dt id="random"> +<tt class="descname">random</tt><big>(</big><em>number int4</em><big>)</big><a class="headerlink" href="#random" title="Permalink to this definition">¶</a></dt> +<dd><p>Returns a pseudorandom number.</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"><strong>number</strong> – range restriction</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">int4</td> +</tr> +<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"></td> +</tr> +</tbody> +</table> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">select</span> <span class="n">random</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span> +<span class="o">></span> <span class="mi">4</span> +</pre></div> +</div> +</dd></dl> + +<dl class="function"> <dt id="round"> -<code class="descname">round</code><span class="sig-paren">(</span><em>number int|float</em><span class="sig-paren">)</span><a class="headerlink" href="#round" title="Permalink to this definition">¶</a></dt> +<tt class="descname">round</tt><big>(</big><em>number int|float</em><big>)</big><a class="headerlink" href="#round" title="Permalink to this definition">¶</a></dt> <dd><p>Rounds to nearest integer</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -600,7 +626,7 @@ <dl class="function"> <dt id="sign"> -<code class="descname">sign</code><span class="sig-paren">(</span><em>number int|float</em><span class="sig-paren">)</span><a class="headerlink" href="#sign" title="Permalink to this definition">¶</a></dt> +<tt class="descname">sign</tt><big>(</big><em>number int|float</em><big>)</big><a class="headerlink" href="#sign" title="Permalink to this definition">¶</a></dt> <dd><p>Returns sign of argument as -1, 0, 1</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -622,7 +648,7 @@ <dl class="function"> <dt id="sin"> -<code class="descname">sin</code><span class="sig-paren">(</span><em>number float</em><span class="sig-paren">)</span><a class="headerlink" href="#sin" title="Permalink to this definition">¶</a></dt> +<tt class="descname">sin</tt><big>(</big><em>number float</em><big>)</big><a class="headerlink" href="#sin" title="Permalink to this definition">¶</a></dt> <dd><p>Returns the sine of number value</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -644,7 +670,7 @@ <dl class="function"> <dt id="sqrt"> -<code class="descname">sqrt</code><span class="sig-paren">(</span><em>number float8</em><span class="sig-paren">)</span><a class="headerlink" href="#sqrt" title="Permalink to this definition">¶</a></dt> +<tt class="descname">sqrt</tt><big>(</big><em>number float8</em><big>)</big><a class="headerlink" href="#sqrt" title="Permalink to this definition">¶</a></dt> <dd><p>Returns the square root of a number</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -666,7 +692,7 @@ <dl class="function"> <dt id="tan"> -<code class="descname">tan</code><span class="sig-paren">(</span><em>number float</em><span class="sig-paren">)</span><a class="headerlink" href="#tan" title="Permalink to this definition">¶</a></dt> +<tt class="descname">tan</tt><big>(</big><em>number float</em><big>)</big><a class="headerlink" href="#tan" title="Permalink to this definition">¶</a></dt> <dd><p>Returns the tangent of number value</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -697,7 +723,7 @@ <a href="string_func_and_operators.html" class="btn btn-neutral float-right" title="String Functions and Operators"/>Next <span class="fa fa-arrow-circle-right"></span></a> - <a href="../functions.html" class="btn btn-neutral" title="Functions"><span class="fa fa-arrow-circle-left"></span> Previous</a> + <a href="data_type_func_and_operators.html" class="btn btn-neutral" title="Data Type Functions and Operators"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> Modified: tajo/site/docs/devel/functions/network_func_and_operators.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/functions/network_func_and_operators.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/functions/network_func_and_operators.html (original) +++ tajo/site/docs/devel/functions/network_func_and_operators.html Tue Sep 1 06:42:40 2015 @@ -111,7 +111,9 @@ </ul> </li> <li class="toctree-l1 current"><a class="reference internal" href="../functions.html">Functions</a><ul class="current"> -<li class="toctree-l2 current"><a class="reference internal" href="../functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2 current"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> @@ -212,7 +214,7 @@ To use these functions and operations, the GeoIP database should be precedently installed in local disks of all the workers. (Please refer the install instruction in <a class="reference external" href="http://dev.maxmind.com/geoip/legacy/downloadable/">http://dev.maxmind.com/geoip/legacy/downloadable/</a>)</p> -<p>Once the GeoIP database is installed, you should specify the install location in <code class="docutils literal"><span class="pre">conf/tajo-site.xml</span></code> +<p>Once the GeoIP database is installed, you should specify the install location in <tt class="docutils literal"><span class="pre">conf/tajo-site.xml</span></tt> as follows.</p> <div class="highlight-python"><div class="highlight"><pre><property> <name>tajo.function.geoip-database-location</name> @@ -225,7 +227,7 @@ as follows.</p> <h2>Supported Functions<a class="headerlink" href="#supported-functions" title="Permalink to this headline">¶</a></h2> <dl class="function"> <dt id="geoip_country_code"> -<code class="descname">geoip_country_code</code><span class="sig-paren">(</span><em>string addr</em><span class="sig-paren">)</span><a class="headerlink" href="#geoip_country_code" title="Permalink to this definition">¶</a></dt> +<tt class="descname">geoip_country_code</tt><big>(</big><em>addr text</em><big>)</big><a class="headerlink" href="#geoip_country_code" title="Permalink to this definition">¶</a></dt> <dd><p>Convert an ipv4 address string to a geoip country code.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -247,7 +249,7 @@ as follows.</p> <dl class="function"> <dt> -<code class="descname">geoip_country_code</code><span class="sig-paren">(</span><em>inet4 addr</em><span class="sig-paren">)</span></dt> +<tt class="descname">geoip_country_code</tt><big>(</big><em>addr inet4</em><big>)</big></dt> <dd><p>Convert an ipv4 address to a geoip country code.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -269,7 +271,7 @@ as follows.</p> <dl class="function"> <dt id="geoip_in_country"> -<code class="descname">geoip_in_country</code><span class="sig-paren">(</span><em>string addr</em>, <em>string code</em><span class="sig-paren">)</span><a class="headerlink" href="#geoip_in_country" title="Permalink to this definition">¶</a></dt> +<tt class="descname">geoip_in_country</tt><big>(</big><em>addr text</em>, <em>code text</em><big>)</big><a class="headerlink" href="#geoip_in_country" title="Permalink to this definition">¶</a></dt> <dd><p>If the given country code is same with the country code of the given address, it returns true. Otherwise, returns false.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -296,7 +298,7 @@ as follows.</p> <dl class="function"> <dt> -<code class="descname">geoip_in_country</code><span class="sig-paren">(</span><em>inet4 addr</em>, <em>string code</em><span class="sig-paren">)</span></dt> +<tt class="descname">geoip_in_country</tt><big>(</big><em>addr inet4</em>, <em>code text</em><big>)</big></dt> <dd><p>If the given country code is same with the country code of the given address, it returns true. Otherwise, returns false.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> Modified: tajo/site/docs/devel/functions/python.html URL: http://svn.apache.org/viewvc/tajo/site/docs/devel/functions/python.html?rev=1700399&r1=1700398&r2=1700399&view=diff ============================================================================== --- tajo/site/docs/devel/functions/python.html (original) +++ tajo/site/docs/devel/functions/python.html Tue Sep 1 06:42:40 2015 @@ -31,7 +31,7 @@ <link rel="top" title="Apache Tajo 0.11.0 documentation" href="../index.html"/> <link rel="up" title="Functions" href="../functions.html"/> <link rel="next" title="Table Management" href="../table_management.html"/> - <link rel="prev" title="JSON Functions" href="json_func.html"/> + <link rel="prev" title="Window Functions" href="window_func.html"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script> @@ -111,7 +111,9 @@ </ul> </li> <li class="toctree-l1 current"><a class="reference internal" href="../functions.html">Functions</a><ul class="current"> -<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-functions">Built-in Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> <li class="toctree-l2 current"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> </ul> </li> @@ -211,14 +213,14 @@ <div class="section" id="function-registration"> <h3>Function registration<a class="headerlink" href="#function-registration" title="Permalink to this headline">¶</a></h3> <p>To register Python UDFs, you must install script files in all cluster nodes. -After that, you can register your functions by specifying the paths to those script files in <code class="docutils literal"><span class="pre">tajo-site.xml</span></code>. Here is an example of the configuration.</p> +After that, you can register your functions by specifying the paths to those script files in <tt class="docutils literal"><span class="pre">tajo-site.xml</span></tt>. Here is an example of the configuration.</p> <div class="highlight-xml"><div class="highlight"><pre><span class="nt"><property></span> <span class="nt"><name></span>tajo.function.python.code-dir<span class="nt"></name></span> <span class="nt"><value></span>/path/to/script1.py,/path/to/script2.py<span class="nt"></value></span> <span class="nt"></property></span> </pre></div> </div> -<p>Please note that you can specify multiple paths with <code class="docutils literal"><span class="pre">','</span></code> as a delimiter. Each file can contain multiple functions. Here is a typical example of a script file.</p> +<p>Please note that you can specify multiple paths with <tt class="docutils literal"><span class="pre">','</span></tt> as a delimiter. Each file can contain multiple functions. Here is a typical example of a script file.</p> <div class="highlight-python"><div class="highlight"><pre><span class="c"># /path/to/udf1.py</span> <span class="nd">@output_type</span><span class="p">(</span><span class="s">'int4'</span><span class="p">)</span> @@ -242,10 +244,10 @@ After that, you can register your functi </div> <div class="section" id="decorators-and-types"> <h3>Decorators and types<a class="headerlink" href="#decorators-and-types" title="Permalink to this headline">¶</a></h3> -<p>By default, every function has a return type of <code class="docutils literal"><span class="pre">BLOB</span></code>. +<p>By default, every function has a return type of <tt class="docutils literal"><span class="pre">BLOB</span></tt>. You can use Python decorators to define output types for the script functions. Tajo can figure out return types from the annotations of the Python script.</p> <ul class="simple"> -<li><code class="docutils literal"><span class="pre">output_type</span></code>: Defines the return data type for a script UDF in a format that Tajo can understand. The defined type must be one of the types supported by Tajo. For supported types, please refer to <a class="reference internal" href="../sql_language/data_model.html"><em>Data Model</em></a>.</li> +<li><tt class="docutils literal"><span class="pre">output_type</span></tt>: Defines the return data type for a script UDF in a format that Tajo can understand. The defined type must be one of the types supported by Tajo. For supported types, please refer to <a class="reference internal" href="../sql_language/data_model.html"><em>Data Model</em></a>.</li> </ul> </div> <div class="section" id="query-example"> @@ -322,13 +324,13 @@ Followings are typical examples of Pytho <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">cnt</span> </pre></div> </div> -<p>These classes must provide <code class="docutils literal"><span class="pre">reset()</span></code>, <code class="docutils literal"><span class="pre">eval()</span></code>, <code class="docutils literal"><span class="pre">merge()</span></code>, <code class="docutils literal"><span class="pre">get_partial_result()</span></code>, and <code class="docutils literal"><span class="pre">get_final_result()</span></code> functions.</p> +<p>These classes must provide <tt class="docutils literal"><span class="pre">reset()</span></tt>, <tt class="docutils literal"><span class="pre">eval()</span></tt>, <tt class="docutils literal"><span class="pre">merge()</span></tt>, <tt class="docutils literal"><span class="pre">get_partial_result()</span></tt>, and <tt class="docutils literal"><span class="pre">get_final_result()</span></tt> functions.</p> <ul class="simple"> -<li><code class="docutils literal"><span class="pre">reset()</span></code> resets the aggregation state.</li> -<li><code class="docutils literal"><span class="pre">eval()</span></code> evaluates input tuples in the first stage.</li> -<li><code class="docutils literal"><span class="pre">merge()</span></code> merges intermediate results of the first stage.</li> -<li><code class="docutils literal"><span class="pre">get_partial_result()</span></code> returns intermediate results of the first stage. Output type must be same with the input type of <code class="docutils literal"><span class="pre">merge()</span></code>.</li> -<li><code class="docutils literal"><span class="pre">get_final_result()</span></code> returns the final aggregation result.</li> +<li><tt class="docutils literal"><span class="pre">reset()</span></tt> resets the aggregation state.</li> +<li><tt class="docutils literal"><span class="pre">eval()</span></tt> evaluates input tuples in the first stage.</li> +<li><tt class="docutils literal"><span class="pre">merge()</span></tt> merges intermediate results of the first stage.</li> +<li><tt class="docutils literal"><span class="pre">get_partial_result()</span></tt> returns intermediate results of the first stage. Output type must be same with the input type of <tt class="docutils literal"><span class="pre">merge()</span></tt>.</li> +<li><tt class="docutils literal"><span class="pre">get_final_result()</span></tt> returns the final aggregation result.</li> </ul> </div> <div class="section" id="id2"> @@ -354,7 +356,7 @@ Followings are typical examples of Pytho <a href="../table_management.html" class="btn btn-neutral float-right" title="Table Management"/>Next <span class="fa fa-arrow-circle-right"></span></a> - <a href="json_func.html" class="btn btn-neutral" title="JSON Functions"><span class="fa fa-arrow-circle-left"></span> Previous</a> + <a href="window_func.html" class="btn btn-neutral" title="Window Functions"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div>
