阿里云大数据实战记录4:生产环境添加列

这篇具有很好参考价值的文章主要介绍了阿里云大数据实战记录4:生产环境添加列。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

生产环境添加列的方法

通过代码新增列

添加列的时候,要注意引擎类型,可以根据以下操作查看引擎类型。
如果有权限查看配置相关内容,也可以点配置里查看。(目前我没有该权限,也不知道都有什么内容~~)
阿里云大数据实战记录4:生产环境添加列

为什么要注意引擎类型呢?因为不同的引擎,意味着不同的配置,对应的语法也是不同的,比如mysql的引擎和maxcomputer的引擎新增列的操作不同,下面找了两个文档可供参考
云原生数据仓库AnalyticDB MySQL版-增加列
云原生大数据计算服务 MaxCompute-增加列

具体语法和例子如下:

-- MaxComputer新增列
alter table <table_name> add columns (<col_name1> <type1> comment ['<col_comment>'][, <col_name2> <type2> comment '<col_comment>'...]);
-- 例子:新增1列
alter table customer add columns (customer_name STRING comment '用户名');
-- 例子:新增2列
alter table customer add columns (customer_name STRING , age BIGINT);

-- ADB MySQL新增列
ALTER TABLE db_name.table_name ADD [COLUMN] column_name data_type;
-- 例子:新增1列
ALTER TABLE adb_demo.customer ADD COLUMN customer_name varchar comment '用户名';
-- 例子:新增2列
ALTER TABLE adb_demo.customer ADD COLUMN customer_name varchar ,ADD COLUMN age varchar;

几个注意点:

  • 如果使用的是标准模式,需要给开发表和生产表分别新增,如果有同步到外部表,还需要给外部表新增,然后再更新同步的文件,将新增的列关联上。
  • 字符类型需要保证一致,特别是MaxComputer,字符的限制比较严格,如果字段是date类型,而数据是datetime类型,会报错,一旦表单发布到生产环境,还不能修改字符类型,这时就只能重建表单了。关于读取源表的字段的数据类型,可以从数据地图查看。

通过表管理新增

除了通过跑代码直接新增,也可以通过表管理打开对应的表单通过可视化新增列。
下面拿标准模式示例,操作流程如下:
表管理找到表打开,新增字段之后,先提交到开发环境,再提交到生产环境,便完成列的新增。是不会很简单?
阿里云大数据实战记录4:生产环境添加列

当然了,前提是得有Alter权限,像我在操作一个ADB MySQL的表的时候发现,操作的公共账号,对一些表单只有selectdrop账号,并没有Alter权限。
没有权限新增列时,通过代码和可视化的方式都无法新增列。

解决方法有好几种:

  • 给账号申请开通数据库的alter权限
  • 删表重建
  • 通过DMS提工单操作(这个同下)

通过DMS新增列

下面讲讲关于DMS的一些操作,在图标左边有三个横杠,将光标移到此处会弹出浮窗,将光标放在全部功能上,这时会出来很多相关的功能供选择。新增列是一个普通数据变更的操作,所以找到它(可直接搜索)。
阿里云大数据实战记录4:生产环境添加列
我操作时只需要填写原因、业务背景、影响行数、还有变更SQL即可,不知是否统一。
在选择执行方式时,可以选择审批通过后,自动执行,这是系统自动审批,不需要人工审核,提交后便可执行。

同样,如果没有相关数据库权限,也需要先申请,在全部功能中查找权限工单,然后根据提示填写即可。

补充MaxCompute的几个问题:

MaxCompute中,可以添加列,但不可以删除列,也不支持修改列的数据类型和分区字段。
如果必须修改列,则需要删表重建,并重新加载数据。
如果必须删除列,可以通过创建新表(选择旧表需要的列)->删旧表->修改新表名为旧表名的形式,举例如下:

create table new_table_name as select c1,c2,c3 from old_table_name;
drop table old_table_name; 
alter table new_table_name rename to old_table_name;

MaxCompute也不支持自增长列功能,如果数据量比较小,也可以使用窗口函数ROW_NUMBER实现。

更多常见问题参考DDL操作常见问题。文章来源地址https://www.toymoban.com/news/detail-408553.html

到了这里,关于阿里云大数据实战记录4:生产环境添加列的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里云大数据工程师(ACP)认证考试大纲

      阿里云大数据专业认证(ACP 级-Alibaba Cloud CertificationProfessional)是面向使用阿里云大数据产品的架构、开发、运维类人员的专业技术认证,主要涉及阿里云大数据类的几款核心产品,包括大数据计算服务MaxCompute、数据工场DataWorks、数据集成、Quick BI、机器学习 PAI等。通

    2024年02月03日
    浏览(54)
  • 阿里云大数据ACA及ACP复习题(121~140)

    121.数据清洗(Data Cleaning)是用于检测和纠正(或删除)记录集,表或数据库中的不准确或损坏的记录。下列选项中,对数据清洗描述正确的是(ABC) A:数据清洗可以检测表中的不准确或损坏的记录 B:数据清洗可以识别不正确,不完整,不相关,不准确或其他有问题(“脏”)的数据

    2024年01月18日
    浏览(41)
  • python3调用阿里云openapi脚本 - 生产环境

    下文内使用的脚本,主要应用场景为: 在日常使用阿里云服务时,获取数据时,一般都需要调用openapi,下面的脚本为调用阿里云直播接口的脚本,如大家并非使用直播产品的接口,需做以下准备: 查询接口版本,示例:‘Version’:‘2016-11-01’。 阿里云AK的RAM权限。 其他产品

    2024年02月21日
    浏览(36)
  • vant选择器组件添加鼠标滚轮(多种解决方法包括生产环境)

    平常做前端开发的应该知道,在前端组件中,有两种组件 一种是针对移动端的组件 另一种是针对pc的组件 ​ 而pc的组件主要是对鼠标,键盘等操作的支持,而移动端组件常用的事件是触摸等事件 ​ 这时,狗血的就来了,业务总是能用各种奇怪的想法让你来回串着开发 ​ 我

    2024年01月16日
    浏览(45)
  • 记录一次生产环境Rancher故障

    目录 一、运行环境问题描述 二、问题分析 三、问题处理   一、运行环境问题描述   Rancher版本:2.4.17 操作系统:CentOS 7.2 Docker : 19.03.15   Rancher正常运行突然打不开WEB界面,排查Rancher运行发现无端口 80、443,如下图:  排查Rancher日志一直在报如下错误:

    2024年02月07日
    浏览(35)
  • E往无前 | 腾讯云大数据 ElasticSearch 高级功能:Cross Cluster Replication实战

    前言 Elasticsearch在platinum版本中,推出了Cross Cluster Replication特性(以下简称CCR),也即跨集群远程复制。 该特性可以解决两类问题: 1,数据迁移; 2,异地备份。 本文以实战为主,基本概念及原理可参考官网文档。 https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-ccr.h

    2024年02月12日
    浏览(64)
  • 【JAVA】生产环境kafka重复消费问题记录

    业务系统每周都有定时任务在跑,由于是大任务因此采用分而治之思想将其拆分为多个分片小任务采用 kafka异步队列消费 的形式来减少服务器压力,每个小任务都会调用后台的c++算法,调用完成之后便会回写数据库的成功次数。今天观测到定时任务的分片小任务存在被重复消

    2024年04月12日
    浏览(41)
  • [转载]C++ 入门教程(41课时) - 阿里云大学

    本教程是专门为初学者打造的,帮助他们理解与 C++ 编程语言相关的基础到高级的概念。 在您开始练习本教程中所给出的各种实例之前,您需要对计算机程序和计算机程序设计语言有基本的了解。 运行结果: 你可以用 \\\"n\\\" 代替以上代码里的 \\\"endl\\\"。 C++ 是一种静态类型的、编

    2024年02月08日
    浏览(49)
  • 超详细实战Docker+Jenkins部署生产环境前后分离项目

    环境: 本文的所有服务都部署在阿里云ECS服务器(2H4G)上面, 前后端分离项目使用gitee上面的开源项目若依(ruoyi-vue)为例, 从零开始教学 1、先停止服务器, 再重装系统, 用最干净的系统从头教学, 保证大家环境一样 2、系统选择Centos最新版本, 然后开始安装, 等待安装完成 3、安装完

    2024年01月17日
    浏览(39)
  • Flask结合gunicorn和nginx反向代理的生产环境部署及踩坑记录

    个人博客:https://xzajyjs.cn 之前自己写的flask使用gunicorn上线生产环境没有什么问题,但是最近搭建了一个现成的flask项目,当使用python直接运行时不会有问题,而使用gunicorn时则会出现一些问题。 这里使用pyenv创建了一个虚拟环境,并安装好依赖 下面是入口函数 run.py : 其中

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包