sql - 如何将值插入到sql数据 block 中的数组和映射中?

标签 sql arrays insert databricks

我可以在 databricks 中创建架构,但如何将数据插入数组和映射中? 我只是找不到任何有关 SQL 的信息。都是关于 python、scala 的,但我只寻找 sql。

CREATE TABLE IF NOT EXISTS mydb.arraytest (
  capacity array<INT>,
  mapper MAP<INT, STRING>,
  device_type STRING,
  location_id INT
)

给我预期的架构:

+-------------+-----------------+ 
| col_name    | data_type       | 
+-------------+-----------------+
| capacity    | array<int>      | 
| mapper      | map<int,string> | 
| device_type | string          |
| location_id | int             |

# Partitioning
Not partitioned

但我只是不知道如何将值插入数组和 map ?

我尝试过的方法都不起作用:

INSERT INTO
  mydb.arraytest
VALUES
  (array<1,2,3>, (1, 'mapstring1'), 'string1', 1)
  (<1,2,3>, ....

最佳答案

ArrayMap函数以括号开头,所以这样的东西应该适合你:

%sql
INSERT INTO arraytest
VALUES (Array(1,2,3), Map(1, 'mapstring1'), 'string1', 1)

关于sql - 如何将值插入到sql数据 block 中的数组和映射中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67006347/

相关文章:

sql - 使用 Delphi TChart 显示数据库中的信息

sql - 允许 null 的 ORDER BY 列速度很慢。为什么?

sql - 循环匹配

php - 检查数组是否递归

c - 为什么我不能为该指针数组元素分配 NULL 值?

php - mysql_query 的正确语法?

mysql - 从多个表中选择值,其中 value = X

php - php中的数组到字符串转换错误

java - 将值从 jtable 行插入数据库 - IN OUT 错误

sql-server - 使用 BULK INSERT 命令将 CSV 文件导入 SQL Server 表