cloudera - Impala 添加具有默认值的列
问题描述
我想使用默认值向现有的 impala 表(和视图)添加一列(以便现有的行也有一个值)。该列不应允许空值。
ALTER TABLE dbName.tblName ADD COLUMNS (id STRING NOT NULL '-1')
我浏览了文档,但找不到专门执行此操作的示例。我如何在 Impala 中执行此操作?色调下划线/无法识别 NOT NULL 命令
解决方案
您是否使用 Kudu 作为表的存储层?因为如果不是,那么根据Impala 文档,
注意: Impala 仅允许在 Kudu 表的列上使用 PRIMARY KEY 子句和 NOT NULL 约束。这些约束在 Kudu 端强制执行。
...
对于非 Kudu 表,Impala 允许任何列包含 NULL 值,因为对可以使用外部工具和 ETL 过程准备的 HDFS 数据文件强制执行“非空”约束是不切实际的。
Impala 的ALTER TABLE语法也不支持指定默认列值(通常是非 Kudu)。
推荐阅读
- python - Square Webhook 验证
- oracle11g - 从存储过程(oracle DB)发送电子邮件
- php - PHP 从网站开始
- mpandroidchart - MPAndroidChart 重置值
- javascript - navigator.share(file) 不适用于音频文件
- python - Python - 具有多个参数的多处理 pool.map
- database - Visual Studio - Xamarin,创建连接到数据库的应用程序
- django - 如何打印上个月创建的对象而不是使用 datetime.timedelta(days=30)
- lua - 如何将一个函数传递给 Lua 中的另一个函数?
- scheduled-tasks - 雪花任务正在运行,调用过程时没有影响数据