Descarga el conjunto de datos
Desempaqueta el conjunto de datos
Menu— Información sobre los menús: el nombre del restaurante, la fecha en la que se vio el menú, etc.Dish— Información sobre los platos: el nombre del plato junto con algunas de sus características.MenuPage— Información sobre las páginas de los menús, ya que cada página pertenece a algún menú.MenuItem— Un elemento del menú. Un plato junto con su precio en alguna página del menú: enlaces al plato y a la página del menú.
Crear las tablas
Importar los datos
format_csv_allow_single_quotes porque solo se usan comillas dobles para los campos de datos, y las comillas simples pueden aparecer dentro de los valores y no deberían confundir al analizador de CSV.
Deshabilitamos input_format_null_as_default porque nuestros datos no contienen NULL. De lo contrario, ClickHouse intentará interpretar secuencias \N y puede confundirlas con \ en los datos.
La configuración date_time_input_format best_effort permite interpretar campos DateTime en una amplia variedad de formatos. Por ejemplo, reconocerá ISO-8601 sin segundos, como ‘2000-01-01 01:02’. Sin esta configuración, solo se permite el formato fijo de DateTime.
Desnormalizar los datos
JOIN para evitar ejecutar un JOIN cada vez. A esto se le llama datos “desnormalizados”.
Crearemos una tabla menu_item_denorm que contendrá todos los datos combinados mediante JOIN:
Validar los datos
Query
Response
Ejecutar algunas consultas
Precios medios históricos de los platos
Query
Response
Precios de las hamburguesas
Query
Response
Vodka
Query
Response
ILIKE '%vodka%', y eso sin duda llama la atención.
Caviar
Query
Response