Nothing
test_that("Pandas to R type conversion works", {
sc <- use_test_spark_connect()
sql_text <- "
SELECT
CAST(1 AS BYTE) AS byte_col,
CAST(2 AS SHORT) AS short_col,
CAST(3 AS INT) AS int_col,
CAST(4 AS LONG) AS long_col,
CAST(1.1 AS FLOAT) AS float_col,
CAST(2.2 AS DOUBLE) AS double_col,
CAST(123.45 AS DECIMAL(10,2)) AS decimal_col,
TRUE AS boolean_col,
CAST(NULL AS BOOLEAN) AS boolean_col_null,
'hello' AS string_col,
CAST('abc' AS BINARY) AS binary_col,
DATE '2025-01-01' AS date_col,
CAST(NULL AS DATE) AS date_col_null,
TIMESTAMP '2025-01-01 12:34:56' AS timestamp_col,
CAST(NULL AS TIMESTAMP) AS timestamp_col_null
"
sql_text_null <- "
SELECT
CAST(NULL AS BYTE),
CAST(NULL AS SHORT),
CAST(NULL AS INT),
CAST(NULL AS LONG),
CAST(NULL AS FLOAT),
CAST(NULL AS DOUBLE),
CAST(NULL AS DECIMAL(10,2)),
CAST(NULL AS BOOLEAN),
CAST(NULL AS BOOLEAN),
CAST(NULL AS STRING),
CAST(NULL AS BINARY),
CAST(NULL AS DATE),
CAST(NULL AS DATE),
CAST(NULL AS TIMESTAMP),
CAST(NULL AS TIMESTAMP)
"
tbl_result <- sparklyr::sdf_sql(
sc = sc,
sql = paste(
sql_text,
sql_text_null,
sql_text,
sql_text_null,
sep = "UNION ALL"
)
) |>
python_obj_get() |>
to_pandas_cleaned()
expect_vector(tbl_result$byte_col, integer())
expect_vector(tbl_result$short_col, integer())
expect_vector(tbl_result$int_col, integer())
expect_vector(tbl_result$long_col, numeric())
expect_vector(tbl_result$float_col, numeric())
expect_vector(tbl_result$double_col, numeric())
expect_vector(tbl_result$decimal_col, numeric())
expect_vector(tbl_result$boolean_col, logical())
expect_vector(tbl_result$boolean_col_null, logical())
expect_vector(tbl_result$string_col, character())
expect_vector(tbl_result$binary_col, list())
expect_vector(tbl_result$date_col, Sys.Date())
expect_vector(tbl_result$date_col_null, Sys.Date())
expect_vector(tbl_result$timestamp_col, Sys.time())
expect_vector(tbl_result$timestamp_col_null, Sys.time())
})
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.