Skip to content

Commit 692b390

Browse files
committed
thanks @krlmlr
1 parent 4ccfa70 commit 692b390

File tree

2 files changed

+33
-31
lines changed

2 files changed

+33
-31
lines changed

content/blog/duckplyr-1-0-0/index.Rmd

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ Therefore, the duckplyr package has a safeguard called `prudence` with three lev
9797

9898
```{r}
9999
out <- babynames |>
100-
duckdb_tibble(prudence = "lavish") |> # default value of prudence :-)
100+
as_duckdb_tibble(prudence = "lavish") |> # default value of prudence :-)
101101
filter(n > 1000) |>
102102
summarize(
103103
.by = c(sex, year),
@@ -113,7 +113,7 @@ nrow(out)
113113

114114
```{r, error = TRUE}
115115
stingy <- babynames |>
116-
duckdb_tibble(prudence = "stingy") |> # like the famous duck Uncle Scrooge :-)
116+
as_duckdb_tibble(prudence = "stingy") |> # like the famous duck Uncle Scrooge :-)
117117
filter(n > 1500) |>
118118
summarize(
119119
.by = c(sex, year),
@@ -129,7 +129,7 @@ nrow(stingy)
129129

130130
```{r, error = TRUE}
131131
thrifty <- babynames |>
132-
duckdb_tibble(prudence = "stingy") |>
132+
as_duckdb_tibble(prudence = "stingy") |>
133133
filter(n > 1000) |>
134134
summarize(
135135
.by = c(sex, year),

content/blog/duckplyr-1-0-0/index.md

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ tags:
1919
- duckplyr
2020
- dplyr
2121
- tidyverse
22-
rmd_hash: 6cef438dc666a330
22+
rmd_hash: 8d425cc0368747e0
2323

2424
---
2525

@@ -108,7 +108,7 @@ Now, the default automatic materialization can be problematic if dealing with la
108108
<div class="highlight">
109109

110110
<pre class='chroma'><code class='language-r' data-lang='r'><span><span class='nv'>out</span> <span class='o'>&lt;-</span> <span class='nv'>babynames</span> <span class='o'>|&gt;</span></span>
111-
<span> <span class='nf'><a href='https://duckplyr.tidyverse.org/reference/duckdb_tibble.html'>duckdb_tibble</a></span><span class='o'>(</span>prudence <span class='o'>=</span> <span class='s'>"lavish"</span><span class='o'>)</span> <span class='o'>|&gt;</span> <span class='c'># default value of prudence :-)</span></span>
111+
<span> <span class='nf'><a href='https://duckplyr.tidyverse.org/reference/duckdb_tibble.html'>as_duckdb_tibble</a></span><span class='o'>(</span>prudence <span class='o'>=</span> <span class='s'>"lavish"</span><span class='o'>)</span> <span class='o'>|&gt;</span> <span class='c'># default value of prudence :-)</span></span>
112112
<span> <span class='nf'><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter</a></span><span class='o'>(</span><span class='nv'>n</span> <span class='o'>&gt;</span> <span class='m'>1000</span><span class='o'>)</span> <span class='o'>|&gt;</span></span>
113113
<span> <span class='nf'><a href='https://dplyr.tidyverse.org/reference/summarise.html'>summarize</a></span><span class='o'>(</span></span>
114114
<span> .by <span class='o'>=</span> <span class='nf'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='o'>(</span><span class='nv'>sex</span>, <span class='nv'>year</span><span class='o'>)</span>,</span>
@@ -129,7 +129,7 @@ Now, the default automatic materialization can be problematic if dealing with la
129129
<div class="highlight">
130130

131131
<pre class='chroma'><code class='language-r' data-lang='r'><span><span class='nv'>stingy</span> <span class='o'>&lt;-</span> <span class='nv'>babynames</span> <span class='o'>|&gt;</span></span>
132-
<span> <span class='nf'><a href='https://duckplyr.tidyverse.org/reference/duckdb_tibble.html'>duckdb_tibble</a></span><span class='o'>(</span>prudence <span class='o'>=</span> <span class='s'>"stingy"</span><span class='o'>)</span> <span class='o'>|&gt;</span> <span class='c'># like the famous duck Uncle Scrooge :-)</span></span>
132+
<span> <span class='nf'><a href='https://duckplyr.tidyverse.org/reference/duckdb_tibble.html'>as_duckdb_tibble</a></span><span class='o'>(</span>prudence <span class='o'>=</span> <span class='s'>"stingy"</span><span class='o'>)</span> <span class='o'>|&gt;</span> <span class='c'># like the famous duck Uncle Scrooge :-)</span></span>
133133
<span> <span class='nf'><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter</a></span><span class='o'>(</span><span class='nv'>n</span> <span class='o'>&gt;</span> <span class='m'>1500</span><span class='o'>)</span> <span class='o'>|&gt;</span></span>
134134
<span> <span class='nf'><a href='https://dplyr.tidyverse.org/reference/summarise.html'>summarize</a></span><span class='o'>(</span></span>
135135
<span> .by <span class='o'>=</span> <span class='nf'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='o'>(</span><span class='nv'>sex</span>, <span class='nv'>year</span><span class='o'>)</span>,</span>
@@ -138,9 +138,10 @@ Now, the default automatic materialization can be problematic if dealing with la
138138
<span> <span class='nf'><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter</a></span><span class='o'>(</span><span class='nv'>sex</span> <span class='o'>==</span> <span class='s'>"F"</span><span class='o'>)</span></span>
139139
<span></span>
140140
<span><span class='nf'><a href='https://rdrr.io/r/base/class.html'>class</a></span><span class='o'>(</span><span class='nv'>stingy</span><span class='o'>)</span></span>
141-
<span><span class='c'>#&gt; [1] "duckplyr_df" "tbl_df" "tbl" "data.frame"</span></span>
141+
<span><span class='c'>#&gt; [1] "prudent_duckplyr_df" "duckplyr_df" "tbl_df" </span></span>
142+
<span><span class='c'>#&gt; [4] "tbl" "data.frame"</span></span>
142143
<span></span><span><span class='nf'><a href='https://rdrr.io/r/base/nrow.html'>nrow</a></span><span class='o'>(</span><span class='nv'>stingy</span><span class='o'>)</span></span>
143-
<span><span class='c'>#&gt; [1] 138</span></span>
144+
<span><span class='c'>#&gt; Error: Materialization would result in 1 rows, which exceeds the limit of 0. Use collect() or as_tibble() to materialize.</span></span>
144145
<span></span></code></pre>
145146

146147
</div>
@@ -150,7 +151,7 @@ Now, the default automatic materialization can be problematic if dealing with la
150151
<div class="highlight">
151152

152153
<pre class='chroma'><code class='language-r' data-lang='r'><span><span class='nv'>thrifty</span> <span class='o'>&lt;-</span> <span class='nv'>babynames</span> <span class='o'>|&gt;</span></span>
153-
<span> <span class='nf'><a href='https://duckplyr.tidyverse.org/reference/duckdb_tibble.html'>duckdb_tibble</a></span><span class='o'>(</span>prudence <span class='o'>=</span> <span class='s'>"stingy"</span><span class='o'>)</span> <span class='o'>|&gt;</span> </span>
154+
<span> <span class='nf'><a href='https://duckplyr.tidyverse.org/reference/duckdb_tibble.html'>as_duckdb_tibble</a></span><span class='o'>(</span>prudence <span class='o'>=</span> <span class='s'>"stingy"</span><span class='o'>)</span> <span class='o'>|&gt;</span> </span>
154155
<span> <span class='nf'><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter</a></span><span class='o'>(</span><span class='nv'>n</span> <span class='o'>&gt;</span> <span class='m'>1000</span><span class='o'>)</span> <span class='o'>|&gt;</span></span>
155156
<span> <span class='nf'><a href='https://dplyr.tidyverse.org/reference/summarise.html'>summarize</a></span><span class='o'>(</span></span>
156157
<span> .by <span class='o'>=</span> <span class='nf'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='o'>(</span><span class='nv'>sex</span>, <span class='nv'>year</span><span class='o'>)</span>,</span>
@@ -159,9 +160,10 @@ Now, the default automatic materialization can be problematic if dealing with la
159160
<span> <span class='nf'><a href='https://dplyr.tidyverse.org/reference/filter.html'>filter</a></span><span class='o'>(</span><span class='nv'>sex</span> <span class='o'>==</span> <span class='s'>"F"</span><span class='o'>)</span></span>
160161
<span></span>
161162
<span><span class='nf'><a href='https://rdrr.io/r/base/class.html'>class</a></span><span class='o'>(</span><span class='nv'>thrifty</span><span class='o'>)</span></span>
162-
<span><span class='c'>#&gt; [1] "duckplyr_df" "tbl_df" "tbl" "data.frame"</span></span>
163+
<span><span class='c'>#&gt; [1] "prudent_duckplyr_df" "duckplyr_df" "tbl_df" </span></span>
164+
<span><span class='c'>#&gt; [4] "tbl" "data.frame"</span></span>
163165
<span></span><span><span class='nf'><a href='https://rdrr.io/r/base/nrow.html'>nrow</a></span><span class='o'>(</span><span class='nv'>thrifty</span><span class='o'>)</span></span>
164-
<span><span class='c'>#&gt; [1] 138</span></span>
166+
<span><span class='c'>#&gt; Error: Materialization would result in 1 rows, which exceeds the limit of 0. Use collect() or as_tibble() to materialize.</span></span>
165167
<span></span></code></pre>
166168

167169
</div>
@@ -208,16 +210,16 @@ The result can finally be materialized to memory, or computed temporarily, or co
208210
<span><span class='c'>#&gt; <span style='color: #555555;'># A tibble: 138 × 3</span></span></span>
209211
<span><span class='c'>#&gt; sex year babies_n</span></span>
210212
<span><span class='c'>#&gt; <span style='color: #555555; font-style: italic;'>&lt;chr&gt;</span> <span style='color: #555555; font-style: italic;'>&lt;dbl&gt;</span> <span style='color: #555555; font-style: italic;'>&lt;dbl&gt;</span></span></span>
211-
<span><span class='c'>#&gt; <span style='color: #555555;'> 1</span> F <span style='text-decoration: underline;'>1</span>995 1<span style='text-decoration: underline;'>139</span>006</span></span>
212-
<span><span class='c'>#&gt; <span style='color: #555555;'> 2</span> F <span style='text-decoration: underline;'>1</span>903 <span style='text-decoration: underline;'>152</span>367</span></span>
213-
<span><span class='c'>#&gt; <span style='color: #555555;'> 3</span> F <span style='text-decoration: underline;'>1</span>914 <span style='text-decoration: underline;'>564</span>502</span></span>
214-
<span><span class='c'>#&gt; <span style='color: #555555;'> 4</span> F <span style='text-decoration: underline;'>1</span>916 <span style='text-decoration: underline;'>815</span>256</span></span>
215-
<span><span class='c'>#&gt; <span style='color: #555555;'> 5</span> F <span style='text-decoration: underline;'>1</span>921 <span style='text-decoration: underline;'>980</span>269</span></span>
216-
<span><span class='c'>#&gt; <span style='color: #555555;'> 6</span> F <span style='text-decoration: underline;'>1</span>935 <span style='text-decoration: underline;'>816</span>510</span></span>
217-
<span><span class='c'>#&gt; <span style='color: #555555;'> 7</span> F <span style='text-decoration: underline;'>1</span>943 1<span style='text-decoration: underline;'>133</span>004</span></span>
218-
<span><span class='c'>#&gt; <span style='color: #555555;'> 8</span> F <span style='text-decoration: underline;'>1</span>955 1<span style='text-decoration: underline;'>634</span>537</span></span>
219-
<span><span class='c'>#&gt; <span style='color: #555555;'> 9</span> F <span style='text-decoration: underline;'>1</span>962 1<span style='text-decoration: underline;'>605</span>822</span></span>
220-
<span><span class='c'>#&gt; <span style='color: #555555;'>10</span> F <span style='text-decoration: underline;'>1</span>973 1<span style='text-decoration: underline;'>047</span>513</span></span>
213+
<span><span class='c'>#&gt; <span style='color: #555555;'> 1</span> F <span style='text-decoration: underline;'>1</span>992 1<span style='text-decoration: underline;'>226</span>792</span></span>
214+
<span><span class='c'>#&gt; <span style='color: #555555;'> 2</span> F <span style='text-decoration: underline;'>1</span>997 1<span style='text-decoration: underline;'>112</span>135</span></span>
215+
<span><span class='c'>#&gt; <span style='color: #555555;'> 3</span> F <span style='text-decoration: underline;'>2</span>002 1<span style='text-decoration: underline;'>089</span>406</span></span>
216+
<span><span class='c'>#&gt; <span style='color: #555555;'> 4</span> F <span style='text-decoration: underline;'>2</span>005 1<span style='text-decoration: underline;'>083</span>492</span></span>
217+
<span><span class='c'>#&gt; <span style='color: #555555;'> 5</span> F <span style='text-decoration: underline;'>2</span>012 <span style='text-decoration: underline;'>961</span>393</span></span>
218+
<span><span class='c'>#&gt; <span style='color: #555555;'> 6</span> F <span style='text-decoration: underline;'>1</span>902 <span style='text-decoration: underline;'>154</span>806</span></span>
219+
<span><span class='c'>#&gt; <span style='color: #555555;'> 7</span> F <span style='text-decoration: underline;'>1</span>907 <span style='text-decoration: underline;'>194</span>763</span></span>
220+
<span><span class='c'>#&gt; <span style='color: #555555;'> 8</span> F <span style='text-decoration: underline;'>1</span>917 <span style='text-decoration: underline;'>851</span>315</span></span>
221+
<span><span class='c'>#&gt; <span style='color: #555555;'> 9</span> F <span style='text-decoration: underline;'>1</span>924 <span style='text-decoration: underline;'>992</span>331</span></span>
222+
<span><span class='c'>#&gt; <span style='color: #555555;'>10</span> F <span style='text-decoration: underline;'>1</span>938 <span style='text-decoration: underline;'>871</span>255</span></span>
221223
<span><span class='c'>#&gt; <span style='color: #555555;'># ℹ 128 more rows</span></span></span>
222224
<span></span><span></span>
223225
<span><span class='c'># to a file</span></span>
@@ -228,16 +230,16 @@ The result can finally be materialized to memory, or computed temporarily, or co
228230
<span><span class='c'>#&gt; <span style='color: #555555;'># A duckplyr data frame: 3 variables</span></span></span>
229231
<span><span class='c'>#&gt; sex year babies_n</span></span>
230232
<span><span class='c'>#&gt; <span style='color: #555555; font-style: italic;'>&lt;lgl&gt;</span> <span style='color: #555555; font-style: italic;'>&lt;dbl&gt;</span> <span style='color: #555555; font-style: italic;'>&lt;dbl&gt;</span></span></span>
231-
<span><span class='c'>#&gt; <span style='color: #555555;'> 1</span> FALSE <span style='text-decoration: underline;'>1</span>995 1<span style='text-decoration: underline;'>139</span>006</span></span>
232-
<span><span class='c'>#&gt; <span style='color: #555555;'> 2</span> FALSE <span style='text-decoration: underline;'>1</span>903 <span style='text-decoration: underline;'>152</span>367</span></span>
233-
<span><span class='c'>#&gt; <span style='color: #555555;'> 3</span> FALSE <span style='text-decoration: underline;'>1</span>914 <span style='text-decoration: underline;'>564</span>502</span></span>
234-
<span><span class='c'>#&gt; <span style='color: #555555;'> 4</span> FALSE <span style='text-decoration: underline;'>1</span>916 <span style='text-decoration: underline;'>815</span>256</span></span>
235-
<span><span class='c'>#&gt; <span style='color: #555555;'> 5</span> FALSE <span style='text-decoration: underline;'>1</span>921 <span style='text-decoration: underline;'>980</span>269</span></span>
236-
<span><span class='c'>#&gt; <span style='color: #555555;'> 6</span> FALSE <span style='text-decoration: underline;'>1</span>935 <span style='text-decoration: underline;'>816</span>510</span></span>
237-
<span><span class='c'>#&gt; <span style='color: #555555;'> 7</span> FALSE <span style='text-decoration: underline;'>1</span>943 1<span style='text-decoration: underline;'>133</span>004</span></span>
238-
<span><span class='c'>#&gt; <span style='color: #555555;'> 8</span> FALSE <span style='text-decoration: underline;'>1</span>955 1<span style='text-decoration: underline;'>634</span>537</span></span>
239-
<span><span class='c'>#&gt; <span style='color: #555555;'> 9</span> FALSE <span style='text-decoration: underline;'>1</span>962 1<span style='text-decoration: underline;'>605</span>822</span></span>
240-
<span><span class='c'>#&gt; <span style='color: #555555;'>10</span> FALSE <span style='text-decoration: underline;'>1</span>973 1<span style='text-decoration: underline;'>047</span>513</span></span>
233+
<span><span class='c'>#&gt; <span style='color: #555555;'> 1</span> FALSE <span style='text-decoration: underline;'>1</span>992 1<span style='text-decoration: underline;'>226</span>792</span></span>
234+
<span><span class='c'>#&gt; <span style='color: #555555;'> 2</span> FALSE <span style='text-decoration: underline;'>1</span>997 1<span style='text-decoration: underline;'>112</span>135</span></span>
235+
<span><span class='c'>#&gt; <span style='color: #555555;'> 3</span> FALSE <span style='text-decoration: underline;'>2</span>002 1<span style='text-decoration: underline;'>089</span>406</span></span>
236+
<span><span class='c'>#&gt; <span style='color: #555555;'> 4</span> FALSE <span style='text-decoration: underline;'>2</span>005 1<span style='text-decoration: underline;'>083</span>492</span></span>
237+
<span><span class='c'>#&gt; <span style='color: #555555;'> 5</span> FALSE <span style='text-decoration: underline;'>2</span>012 <span style='text-decoration: underline;'>961</span>393</span></span>
238+
<span><span class='c'>#&gt; <span style='color: #555555;'> 6</span> FALSE <span style='text-decoration: underline;'>1</span>902 <span style='text-decoration: underline;'>154</span>806</span></span>
239+
<span><span class='c'>#&gt; <span style='color: #555555;'> 7</span> FALSE <span style='text-decoration: underline;'>1</span>907 <span style='text-decoration: underline;'>194</span>763</span></span>
240+
<span><span class='c'>#&gt; <span style='color: #555555;'> 8</span> FALSE <span style='text-decoration: underline;'>1</span>917 <span style='text-decoration: underline;'>851</span>315</span></span>
241+
<span><span class='c'>#&gt; <span style='color: #555555;'> 9</span> FALSE <span style='text-decoration: underline;'>1</span>924 <span style='text-decoration: underline;'>992</span>331</span></span>
242+
<span><span class='c'>#&gt; <span style='color: #555555;'>10</span> FALSE <span style='text-decoration: underline;'>1</span>938 <span style='text-decoration: underline;'>871</span>255</span></span>
241243
<span><span class='c'>#&gt; <span style='color: #555555;'># ℹ more rows</span></span></span>
242244
<span></span><span><span class='nf'><a href='https://rdrr.io/r/base/file.info.html'>file.size</a></span><span class='o'>(</span><span class='nv'>csv_file</span><span class='o'>)</span></span>
243245
<span><span class='c'>#&gt; [1] 2560</span></span>

0 commit comments

Comments
 (0)