Nothing
context("complex columns")
test_that("impala_unnest() on array column returns expected result", {
check_impala()
test_op <- function(x) {
x %>%
impala_unnest(phones) %>%
mutate(phones_pos = as.numeric(phones_pos)) %>%
arrange(cust_id, phones_pos) %>%
as.data.frame(stringsAsFactors=FALSE)
}
ref <- data.frame(
cust_id = c("a", "a", "a", "b", "c", "c"),
name = c("Alice", "Alice", "Alice", "Bob", "Carlos", "Carlos"),
phones_item = c("555-1111", "555-2222", "555-3333", "555-4444", "555-5555", "555-6666"),
phones_pos = c(0, 1 , 2, 0, 0, 1),
stringsAsFactors = FALSE
)
expect_true(
compare(test_op(tbl(impala, "cust_phones_parquet")), ref)
)
})
test_that("impala_unnest() on map column returns expected result", {
check_impala()
test_op <- function(x) {
x %>%
impala_unnest(phones) %>%
arrange(cust_id, phones_value) %>%
as.data.frame(stringsAsFactors=FALSE)
}
ref <- data.frame(
cust_id = c("a", "a", "a", "b", "c", "c"),
name = c("Alice", "Alice", "Alice", "Bob", "Carlos", "Carlos"),
phones_key = c("home", "work", "mobile", "mobile", "work", "home"),
phones_value = c("555-1111", "555-2222", "555-3333", "555-4444", "555-5555", "555-6666"),
stringsAsFactors = FALSE
)
expect_true(
compare(test_op(tbl(impala, "cust_phones_map_parquet")), ref)
)
})
test_that("impala_unnest() on struct column returns expected result", {
check_impala()
test_op <- function(x) {
x %>%
impala_unnest(address) %>%
arrange(cust_id) %>%
as.data.frame(stringsAsFactors=FALSE)
}
ref <- data.frame(
cust_id = c("a", "b", "c"),
name = c("Alice", "Bob", "Carlos"),
address_street = c("742 Evergreen Terrace", "1600 Pennsylvania Ave NW", "342 Gravelpit Terrace"),
address_city = c("Springfield", "Washington", "Bedrock"),
address_state = c("OR", "DC", NA),
address_zipcode = c("97477", "20500", NA),
stringsAsFactors = FALSE
)
expect_true(
compare(test_op(tbl(impala, "cust_addr_parquet")), ref)
)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.