我一直在阅读 dbt 的《我们如何配置 Snowflake》raw
指南,它解释了拥有数据库和数据库背后的基本原理analytics
。原始数据被加载到您的仓库中raw
(例如通过使用 Fivetran),并由analytics
dbt 使用来为数据分析师/科学家保存转换后的数据/视图。
但是,我似乎找不到任何有关如何实际设置的指南。profile.yml 文件需要指向原始数据所在的位置,以便 dbt 可以开始转换。然而,该文件似乎还规定了保存转换后的数据/视图的数据库和模式。
在 dbt 的许多 .yml 文件中,我应该在何处全局指定保存转换后的数据的位置?
我希望取消嵌套(展平?)并连接tibble
. 示例数据:
library(tidyverse)
tibble(person = c("Alice", "Bob", "Mary"),
score = list(c("Red", "Green", "Blue"), c("Orange", "Green", "Yellow"), "Blue"))
# A tibble: 3 x 2
person score
<chr> <list>
1 Alice <chr [3]>
2 Bob <chr [3]>
3 Mary <chr [1]>
Run Code Online (Sandbox Code Playgroud)
预期输出:
tibble(person = c("Alice", "Bob", "Mary"),
score = c("Red, Green, Blue", "Orange, Green, Yellow", "Blue" ))
# A tibble: 3 x 2
person score
<chr> <chr>
1 Alice Red, Green, Blue
2 Bob Orange, Green, Yellow
3 Mary Blue …
Run Code Online (Sandbox Code Playgroud) 假设你有一个数据表:
df<-tibble(person = c("Alice", "Bob", "Mary"),
colour = c("Red", "Green", "Blue"),
city = c("London", "Paris", "New York"))
# A tibble: 3 x 3
person colour city
<chr> <chr> <chr>
1 Alice Red London
2 Bob Green Paris
3 Mary Blue New York
Run Code Online (Sandbox Code Playgroud)
以及包含字段名称和每个字段的最大字符串长度的第二个表:
len<-tibble(field_name = c("person", "colour", "city"),
field_length = c(12, 4, 6))
# A tibble: 3 x 2
field_name field_length
<chr> <dbl>
1 person 12
2 colour 4
3 city 6
Run Code Online (Sandbox Code Playgroud)
如何检查 中的每个字段中len
的字符串df
是否小于或等于len$field_length
,返回未通过测试的行? …
假设您有一个简单的shinydashboard
包含使用创建的链接menuItem
和使用创建的页面tabItems
:
library(shiny)
library(shinydashboard)
skin <- Sys.getenv("DASHBOARD_SKIN")
skin <- tolower(skin)
skin <- "blue"
## ui.R ##
sidebar <- dashboardSidebar(
sidebarMenu(
menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
menuItem("Widgets", icon = icon("th"), tabName = "widgets",
badgeLabel = "new", badgeColor = "green")
)
)
body <- dashboardBody(
tabItems(
tabItem(tabName = "dashboard",
h2("Dashboard tab content")
),
tabItem(tabName = "widgets",
h2("Widgets tab content")
)
)
)
# Put them together into a dashboardPage
ui<-dashboardPage(
dashboardHeader(title = "Simple tabs"),
sidebar, …
Run Code Online (Sandbox Code Playgroud) 我有一个凌乱的、高度嵌套的列表:
m <- list('form' = list('elements' = list('name' = 'Bob', 'code' = 12), 'name' = 'Mary', 'code' = 15))
Run Code Online (Sandbox Code Playgroud)
> m
$form
$form$elements
$form$elements$name
[1] "Bob"
$form$elements$code
[1] 12
$form$name
[1] "Mary"
$form$code
[1] 15
Run Code Online (Sandbox Code Playgroud)
我怎样才能从对象中提取m
的name
和code
,无论以怎样的嵌套name
和code
一个列表中出现?
预期输出:
# A tibble: 2 x 2
name code
<chr> <dbl>
1 Bob 12
2 Mary 15
Run Code Online (Sandbox Code Playgroud) 从 Snowflake (ANSI SQL) 的数据库中删除具有用户指定前缀的所有模式的最佳方法是什么?
假设您有一个名为 的数据库,ANALYTICS
并且该数据库中有多个模式,例如:dev_bob_schema1
, dev_bob_schema2
, dev_alice_schema1
。
如何才能只删除那些前置的模式dev_bob
?
我已经到了可以列出模式的阶段:
use database "ANALYTICS";
select schema_name
from information_schema.schemata
where schema_name ilike 'dev_bob%'
Run Code Online (Sandbox Code Playgroud)
但我无法克服最后的障碍来循环响应并执行drop schema ...