Skip to content

Commit

Permalink
build based on 902c5ae
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Aug 11, 2024
1 parent 0dd6eea commit 4dded33
Show file tree
Hide file tree
Showing 5 changed files with 160 additions and 33 deletions.
103 changes: 103 additions & 0 deletions previews/PR53/examples/generated/UserGuide/from_queryex/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,11 @@
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">


<a href="#preview-an-intermediate-table" class="md-skip">
Skip to content
</a>

</div>
<div data-md-component="announce">

Expand Down Expand Up @@ -332,6 +337,17 @@



<label class="md-nav__link md-nav__link--active" for="__toc">


<span class="md-ellipsis">
Reusing Part of a Query
</span>


<span class="md-nav__icon md-icon"></span>
</label>

<a href="./" class="md-nav__link md-nav__link--active">


Expand All @@ -342,6 +358,32 @@

</a>



<nav class="md-nav md-nav--secondary" aria-label="Table of contents">




<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>

<li class="md-nav__item">
<a href="#preview-an-intermediate-table" class="md-nav__link">
<span class="md-ellipsis">
Preview an intermediate table
</span>
</a>

</li>

</ul>

</nav>

</li>


Expand Down Expand Up @@ -504,6 +546,23 @@



<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>

<li class="md-nav__item">
<a href="#preview-an-intermediate-table" class="md-nav__link">
<span class="md-ellipsis">
Preview an intermediate table
</span>
</a>

</li>

</ul>

</nav>
</div>
</div>
Expand Down Expand Up @@ -571,6 +630,50 @@ <h1>Reusing Part of a Query</h1>
2 │ Toyota Corolla 4 33.9
3 │ Hornet 4 Drive 6 21.4
</code></pre></div>
<p><a id='Preview-an-intermediate-table'></a></p>
<p><a id='Preview-an-intermediate-table-1'></a></p>
<h2 id="preview-an-intermediate-table">Preview an intermediate table<a class="headerlink" href="#preview-an-intermediate-table" title="Permanent link">¤</a></h2>
<p>While querying a dataset, you may wish to see an intermediate table, or even save it. You can use <code>@aside</code> and <code>from_query(_)</code>, illustrated below, to do just that. While we opted to print the results in this simple example below, we could have saved them by using <code>name = DB.@chain...</code></p>
<div class="highlight"><pre><span></span><code><span class="k">import</span><span class="w"> </span><span class="n">ClickHouse</span><span class="p">;</span>
<span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">DB</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">DB</span><span class="o">.</span><span class="n">clickhouse</span><span class="p">();</span><span class="w"> </span><span class="n">host</span><span class="o">=</span><span class="s">&quot;localhost&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">port</span><span class="o">=</span><span class="mi">19000</span><span class="p">,</span><span class="w"> </span><span class="n">database</span><span class="o">=</span><span class="s">&quot;default&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="o">=</span><span class="s">&quot;default&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">password</span><span class="o">=</span><span class="s">&quot;&quot;</span><span class="p">)</span>
<span class="n">path</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;https://huggingface.co/datasets/maharshipandya/spotify-tracks-dataset/resolve/refs</span><span class="si">%2F</span><span class="s">convert</span><span class="si">%2F</span><span class="s">parquet/default/train/0000.parquet&quot;</span>
<span class="n">DB</span><span class="o">.</span><span class="nd">@chain</span><span class="w"> </span><span class="n">DB</span><span class="o">.</span><span class="n">db_table</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span><span class="w"> </span><span class="n">path</span><span class="p">)</span><span class="w"> </span><span class="k">begin</span>
<span class="w"> </span><span class="n">DB</span><span class="o">.</span><span class="nd">@count</span><span class="p">(</span><span class="n">cyl</span><span class="p">)</span>
<span class="w"> </span><span class="nd">@aside</span><span class="w"> </span><span class="n">println</span><span class="p">(</span><span class="n">DB</span><span class="o">.</span><span class="nd">@chain</span><span class="w"> </span><span class="n">DB</span><span class="o">.</span><span class="n">from_query</span><span class="p">(</span><span class="n">_</span><span class="p">)</span><span class="w"> </span><span class="n">DB</span><span class="o">.</span><span class="nd">@head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="n">DB</span><span class="o">.</span><span class="nd">@collect</span><span class="p">)</span>
<span class="w"> </span><span class="n">DB</span><span class="o">.</span><span class="nd">@arrange</span><span class="p">(</span><span class="n">desc</span><span class="p">(</span><span class="n">count</span><span class="p">))</span>
<span class="w"> </span><span class="n">DB</span><span class="o">.</span><span class="nd">@collect</span>
<span class="k">end</span>
</code></pre></div>
<div class="highlight"><pre><span></span><code>5×2 DataFrame
Row │ artists count
│ String? UInt64
─────┼─────────────────
1 │ missing 1
2 │ Wizo 3
3 │ MAGIC! 3
4 │ Macaco 1
5 │ SOYOU 1
31438×2 DataFrame
Row │ artists count
│ String? UInt64
───────┼─────────────────────────
1 │ The Beatles 279
2 │ George Jones 271
3 │ Stevie Wonder 236
4 │ Linkin Park 224
5 │ Ella Fitzgerald 222
6 │ Prateek Kuhad 217
7 │ Feid 202
⋮ │ ⋮ ⋮
31432 │ Leonard 1
31433 │ marcos g 1
31434 │ BLVKSHP 1
31435 │ Memtrix 1
31436 │ SOYOU 1
31437 │ Macaco 1
31438 │ missing 1
31424 rows omitted
</code></pre></div>
<hr />
<p><em>This page was generated using <a href="https://github.com/fredrikekre/Literate.jl">Literate.jl</a>.</em></p>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,15 @@
</span>
</a>

</li>

<li class="md-nav__item">
<a href="#db_table" class="md-nav__link">
<span class="md-ellipsis">
db_table
</span>
</a>

</li>

</ul>
Expand Down Expand Up @@ -559,6 +568,15 @@
</span>
</a>

</li>

<li class="md-nav__item">
<a href="#db_table" class="md-nav__link">
<span class="md-ellipsis">
db_table
</span>
</a>

</li>

</ul>
Expand Down Expand Up @@ -586,17 +604,17 @@ <h1>Getting Started</h1>
<p>Alternatively, <code>using Tidier</code> will import TidierDB in the above manner for you, where TidierDB functions and macros will be available as <code>DB.@mutate()</code> and so on, and the TidierData equivalent would be <code>@mutate()</code>.</p>
<p>To connect to a database, you can uset the <code>connect</code> function as shown below, or establish your own connection through the respecitve libraries.</p>
<p>For example Connecting to MySQL</p>
<div class="highlight"><pre><span></span><code><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">connect</span><span class="p">(</span><span class="n">mysql</span><span class="p">();</span><span class="w"> </span><span class="n">host</span><span class="o">=</span><span class="s">&quot;localhost&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="o">=</span><span class="s">&quot;root&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">password</span><span class="o">=</span><span class="s">&quot;password&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">db</span><span class="o">=</span><span class="s">&quot;mydb&quot;</span><span class="p">)</span>
<div class="highlight"><pre><span></span><code><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">DB</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">DB</span><span class="o">.</span><span class="n">mysql</span><span class="p">();</span><span class="w"> </span><span class="n">host</span><span class="o">=</span><span class="s">&quot;localhost&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="o">=</span><span class="s">&quot;root&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">password</span><span class="o">=</span><span class="s">&quot;password&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">db</span><span class="o">=</span><span class="s">&quot;mydb&quot;</span><span class="p">)</span>
</code></pre></div>
<p>versus connecting to DuckDB</p>
<div class="highlight"><pre><span></span><code><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">connect</span><span class="p">(</span><span class="n">duckdb</span><span class="p">())</span>
<div class="highlight"><pre><span></span><code><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">DB</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">DB</span><span class="o">.</span><span class="n">duckdb</span><span class="p">())</span>
</code></pre></div>
<p><a id='Package-Extensions'></a></p>
<p><a id='Package-Extensions-1'></a></p>
<h2 id="package-extensions">Package Extensions<a class="headerlink" href="#package-extensions" title="Permanent link">¤</a></h2>
<p>The following backends utilize package extensions. To use one of backends listed below, you will need to write <code>using Library</code></p>
<ul>
<li>ClickHouse: <code>using ClickHouse</code></li>
<li>ClickHouse: <code>import ClickHouse</code></li>
<li>MySQL and MariaDB: <code>using MySQL</code></li>
<li>MSSQL: <code>using ODBC</code></li>
<li>Postgres: <code>using LibPQ</code></li>
Expand All @@ -605,6 +623,13 @@ <h2 id="package-extensions">Package Extensions<a class="headerlink" href="#packa
<li>Oracle: <code>using ODBC</code></li>
<li>Google BigQuery: <code>using GoogleCloud</code></li>
</ul>
<p><a id='db_table'></a></p>
<p><a id='db_table-1'></a></p>
<h2 id="db_table"><code>db_table</code><a class="headerlink" href="#db_table" title="Permanent link">¤</a></h2>
<p>What does <code>db_table</code> do? <code>db_table</code> starts the underlying SQL query struct, in addition to pulling the table metadata and storing it there. Storing metadata is what enables a lazy interface that also supports tidy selection. <code>db_table</code> has two required arguments: <code>connection</code> and <code>table</code> <code>table</code> can be a table name on a database or a path/url to file to read. When passing <code>db_table</code> a path or url, the table is not copied into memory. With DuckDB and ClickHouse, if you have a folder of multiple files to read, you can use <code>*</code> read in all files matching the pattern. For example, the below would read all files that end in <code>.csv</code> in the given folder.</p>
<div class="highlight"><pre><span></span><code><span class="n">db_table</span><span class="p">(</span><span class="n">db</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;folder/path/*.csv&quot;</span><span class="p">)</span>
</code></pre></div>
<p><code>db_table</code> also supports iceberg, delta, and S3 file paths via DuckDB.</p>
<hr />
<p><em>This page was generated using <a href="https://github.com/fredrikekre/Literate.jl">Literate.jl</a>.</em></p>

Expand Down
Loading

0 comments on commit 4dded33

Please sign in to comment.