华为云用户手册

  • 配置“MR预合并” 当MR创建后,您可自定义WebHook、流水线等下载插件的脚本,即下载代码内容可以由您自己控制。 如果勾选“MR预合并”,则服务端会帮助您生成一个隐藏分支,表示该MR代码已经合入,进而您可以直接下载已经存在在隐藏分支的代码。 如果未勾选“MR预合并”,您需要在客户端本地做预合并,即分别下载MR源分支、MR目标分支的代码,并在构建执行机自己做合并动作。 操作命令 服务端预合并命令如下: git init git remote add origin ${repo_url克隆/下载地址} git fetch origin +refs/merge-requests/${repo_MR_iid}/merge:refs/${repo_MR_iid}merge 如果未勾选,则可以通过客户端做预合并操作,本地新建干净的工作目录,命令如下: git initgit remote add origin ${repo_url克隆/下载地址}git fetch origin +refs/heads/${repoTargetBranch}:refs/remotes/origin/${repoTargetBranch}git checkout ${repoTargetBranch}git fetch origin +refs/merge-requests/${repo_MR_iid}/head:refs/remotes/origin/${repo_MR_iid}/head git merge refs/remotes/origin/${repo_MR_iid}/head --no-edit 功能优势 对于构建实时性要求高的场景,如:一个MR可能拉起几十或上百台服务器的构建,本地/客户端做预合并可能会与服务端产生的结果不一致,导致构建代码获取不够准确、构建结果不准确等问题。使用服务端预合并可以解决该实时性问题,并且构建脚本命令更简单,开发人员或CIE更好上手。
  • 导入外部仓库 用于将其它云端仓库导入到 代码托管服务 中,也可以将代码托管服务中一个区域的仓库导入到另一个区域(仓库备份),导入后的仓库与源仓库彼此独立。 在代码托管服务控制台导入外部仓库的步骤如下: 进入代码托管服务仓库列表页。 单击“普通新建”旁的,在扩展框中选择“导入外部仓库”,进入页面。 外部仓库可以是Git远程仓库(HTTPS)或SVN。 导入时,源仓端口限制为:80、443,以及大于1024的端口。 目前完全支持的源站地址包括:GitHub、Gitee、GitLab、SVN。如果使用其它源站地址导入失败,请联系技术支持确认源站白名单。 填写源仓库路径,填写源仓库访问的用户名和密码(开源仓库不需要填写)。 单击“下一步”按钮,进入“创建仓库”页面,填写仓库基本信息。 表1 字段说明 字段名称 是否必填 备注说明 代码仓库名称 是 请以字母、数字、下划线开头,名称还可包含点和连字符,但不能以.git、.atom结尾,限制200个字符。 描述 否 为您的仓库填写描述,限制2000个字符。 权限设置 否 允许项目内人员访问仓库。 选择后会自动将项目中的项目经理设为仓库管理员,开发人员设为仓库普通成员。当项目新增这两个角色时,也会自动同步到已经存在的仓库中。 自动创建代码检查任务(免费)。 仓库创建完成后在代码检查任务列表中,可看到对应仓库的检查任务。 是否公开 是 可选择: 私有。 仓库仅对仓库成员可见,仓库成员可访问仓库或者提交代码。 公开只读。 仓库对所有访客公开只读,可以选择开源许可证作为备注。 分支设置 是 可选择同步源仓库的默认分支或全部分支。 增加定时同步 否 勾选“增加定时同步”功能: 每天自动从源仓库导入仓库的默认分支。 仓库将成为只读镜像仓库,不能写入,并且只同步当前创建仓库的默认分支对应的第三方仓库的分支。 同步分为手动同步和定时同步,同步分支配置后不可更改,可参考同步仓库。 单击“确定”按钮,完成仓库导入,跳转到仓库列表页。 仓库导入超时时间为30min。如果导入超时,建议使用客户端clone/push来处理。 导入的内容中不包含Git LFS对象。 该功能需要保证被导入的仓库域名和服务节点网络连通。 父主题: 创建代码托管仓库
  • 什么是HTTPS密码 当您需要将代码推送到代码托管仓库或从代码托管仓库拉取代码时,代码托管仓库需要验证您的身份与权限,HTTPS是对代码托管服务进行远程访问的身份验证方式。 HTTPS用户名 包含租户名/ IAM 用户名,请完整输入,如果需要将用户名添加到URL中,请将'/'转义成 '%2F'。 当主帐号(帐号和用户名一样)设置HTTPS密码时可以只写帐号。 HTTPS密码 请输入8到32位密码,数字、大小写字母及特殊字符至少包含两种,不能与用户名或者倒序的用户名相同。 HTTPS密码是HTTPS协议方式下载/上传时使用的用户凭证。每个开发者,只需要设置一次密码,与仓库无关。 HTTPS密码要妥善保存,不要外传,并定期更换,以免出现安全风险。如果忘记用户名密码,单击修改,设置新的HTTPS密码即可。
  • 前提条件 打开TortoiseGit官网下载链接,根据您的操作系统位数下载32位/64位的安装包。 双击运行安装包,在弹出的窗口中依次单击“Next”,然后单击“Install”即可完成安装,最后单击“Finish”即会运行第一次启动引导。 在弹出的第一次启动引导中,会有Language语言选择、Git可执行路径配置(自动填充可用的Git路径)、配置用户名和邮箱,保持默认依次单击Next完成即可。
  • 什么是SSH密钥/HTTPS密码 当您需要将代码推送到代码托管仓库或从代码托管仓库下拉代码时,代码托管仓库需要验证您的身份与权限,SSH和HTTPS是对代码托管服务进行远程访问的两种身份验证方式。 SSH密钥是在本地计算机与您帐号下的代码托管服务之间建立安全连接。 在一台本地计算机上配置了SSH密钥并添加公钥到代码托管服务中后,所有该帐号下的代码仓库与该台计算机之间都可以使用该密钥进行连接。 不同的用户通常使用不同的电脑,在使用SSH方式连接代码仓库前需要在自己电脑生成自己的SSH密钥,并设置到代码托管服务中。 HTTPS密码是HTTPS协议方式下载、上传时使用的用户凭证。 每个开发者,只需要设置一次密码,所有该项目下的仓库都会生效。 在本产品中,HTTPS协议所支持的单文件推送大小不超过200M,需传输大于200M时,请使用SSH方式。 因为联邦帐号无法绑定邮箱,所以无法使用HTTPS协议。
  • Git工作流概述 什么是Git工作流?你可以理解为代码管理的分支策略,它不仅仅是版本管理范畴,更服务于项目流程管理和团队协同开发。所以,有必要制定适合自己研发场景的工作流。 下面介绍四种工作流的工作方式、优缺点,以及使用中的一些注意事项。 集中式工作流 功能分支工作流 Git flow工作流(推荐) Forking工作流 研发团队可以根据实际研发场景制定合理的工作流,能有效提高项目管理水平和团队协同开发能力, 并通过CodeArts Repo平台,高效、安全的管理代码资产,将更多的精力集中在业务开发上,实现持续集成、持续交付和快速迭代的目标。 父主题: Git工作流
  • 迁移方法二:HTTP在线导入 首先确保你的SVN服务器支持HTTP或HTTPS方式访问,可以在任一浏览器,输入“http(s)://SVN服务器地址/访问仓库名称”进行验证。 在代码托管仓库列表页,单击“普通新建”旁的,在下拉列表中选择“导入外部仓库”。 源仓库路径填入要导入的SVN仓库地址,输入相应SVN用户名、密码,勾选“我已阅读并同意《隐私政策声明》和《软件开发服务使用声明》”,单击“下一步”。 输入要新建的代码仓库名称,进行相应权限配置,单击“确定”,等待仓库创建。 代码仓库创建成功后,单击仓库名称查看仓库详情。
  • 操作步骤 进入代码托管服务仓库列表页。 单击“普通新建”旁的,在扩展框中选择“按模板新建”,跳转到“选择模板”页面。 “选择模板”页面支持模糊查询,根据您的需求选中某个模板。 单击“下一步”按钮,进入“基本信息”页面,填写仓库基本信息。 表1 按模板新建仓库的参数说明 字段名称 是否必填 备注说明 代码仓库名称 是 请以字母、数字、下划线开头,名称还可包含点和连字符,但不能以.git、.atom结尾,限制200个字符。 归属项目 是 仓库必须存在项目下。 如果帐号下没有项目或者在项目选择框中选择“新建项目”会先弹出“快捷新建项目”页面,这时建立的项目是basic项目。(basic项目,只能使用代码托管等部分服务,其它服务默认不开通,需要手动去项目设置页更改才能变成基础项目)。 说明: 如果在项目内新建仓库则默认选择该项目,页面会隐去“归属项目”这个字段。 描述 否 为您的仓库填写描述,限制2000个字符。 权限设置 否 允许项目内人员访问仓库。 选择后会自动将项目中的项目经理设为仓库管理员,开发人员设为仓库普通成员。当项目新增这两个角色时,会自动将新增成员同步到代码仓成员中,可通过成员列表查看。 自动创建代码检查任务(免费)。 仓库创建完成后在代码检查任务列表中,可看到对应仓库的检查任务。 是否公开 是 可选择 私有。 仓库仅对仓库成员可见,仓库成员可访问仓库或者提交代码。 公开只读。 仓库对所有访客公开只读,但不出现在访客的仓库列表及搜索中,您可以选择开源许可证作为备注。 单击“确定”按钮,完成仓库新建。 按模板新建时,仓库的类型会根据选择的模板的仓库类型自动配置。 按模板新建的仓库将包含模板预置的仓库文件结构。
  • 查看提交历史 代码托管服务支持查看提交历史的详细信息以及其涉及的文件变更。 您可以在仓库的动态、仓库文件列表的历史页签中,查看提交历史的清单,单击某次提交历史可以进入查看此次提交提交人、提交号、父节点、此条提交下评论的数量、代码变更对比等。 您可以对提交内容进行评论,也可对评论内容进行跟帖。 单击下图中的图标可以切换代码变更对比的横版或纵版显示,单击“全部展开”可以查看此次提交中涉及的文件的全文。 父主题: 提交代码到代码托管仓库
  • 在Windows中使用密钥对方式进行加密、解密 安装并初始化Git。 下载最新基于Windows的git-crypt,将下载到的exe文件放到Git安装目录下的“cmd”文件夹中,下图以“Windows Server 2012 R2 标准版 64”的默认Git Bash安路径为例。 放进文件夹即可,不需要运行此exe。 生成密钥对。 打开“Git Bash”,并进入本地仓库(如下图①)。 生成密钥对,输入指令如下(如下图②): git-crypt init 将密钥文件导出,本示例中将密钥文件导出到C:\test目录并名为KeyFile,输入指令如下(如下图③): git-crypt export-key /c/test/keyfile 执行完以上步骤,可以到密钥导出的文件路径,验证下是否生成了密钥,在本示例中到C:\test路径下验证是否有KeyFile文件,如下图所示。 持有这个密钥文件的计算机,可以解密对应的加密文件。 为仓库配置加密范围。 在仓库的根目录下新建一个名为.gitattributes的文件。 打开.gitattributes文件,设置加密范围,语法如下。 文件名或文件范围 filter=git-crypt diff=git-crypt 下面给出四个示例。 FT/file01.txt filter=git-crypt diff=git-crypt #将 特定文件加密,这里加密的是FT文件夹下的file01.txt*.java filter=git-crypt diff=git-crypt #将 .java类型文件加密G* filter=git-crypt diff=git-crypt #将 文件名为 G 开头的文件加密ForTest/** filter=git-crypt diff=git-crypt #将 ForTest 文件夹下的文件加密 如果创建.gitattributes文件时提示“必须键入文件名”,可以将文件名填写成 “.gitattributes.”即可创建成功,如果使用Linux指令创建文件,则不会出现此问题。 注意不要将.gitattributes保存成txt文件,这样配置会无效。 进行文件加密。 仓库根目录打开Git bash,执行如下指令即可完成加密,并会看到目前文件的加密状态。 git-crypt status 加密执行后,在您的本地仓库仍能明文方式打开和编辑这些加密文件,这是因为您本地仓库有密钥存在。 这时你可以使用add 、commit、push组合将仓库推送到代码托管仓库,此时加密文件将一同被推送。 加密文件在代码托管仓库中将以加密二进制方式存储,无法直接查看。如果没有密钥,就算将其下载到本地,也无法解密。 “git-crypt status”只会加密本次待提交的文件,对本次未发生修改的历史文件不会产生加密作用,Git会对此设定涉及的未加密文件做出提示(见上图中的Warning),如果想将仓库中的对应类型文件全部加密,请使用“git-crypt status -f”。 在让团队合作中 -f (强制执行)具有一定的风险,可能会对合作伙伴的工作产生不变,请谨慎使用。 进行文件解密。 确认本机器Git安装路径下存在git-crypt文件。 将仓库从代码托管克隆到本地。 获取加密此仓库的密钥文件,并存储于本地计算机。 进入仓库目录,右键打开Git bash。 执行解密指令,执行后无回显,则为执行成功。 git-crypt unlock /C/test/KeyFile #请将 /C/test/KeyFile 更换为您实际的密钥存储路径
  • Linux、Mac平台的git-crypt、gpg安装 Linux平台安装git-crypt、gpg Linux安装依赖环境。 Software Debian/Ubuntu package RHEL/CentOS package Make make make A C++11 compiler (e.g. gcc 4.9+) g++ gcc-c++ OpenSSL development files libssl-dev openssl-devel Linux环境下,使用源码编译方式安装git-crypt。 下载源码 makemake install 安装到指定目录。 make install PREFIX=/usr/local Linux环境下,使用源码编译方式安装GPG。 下载源码 ./configuremakemake install 使用Debian包安装git-crypt。 下载源码 Debian打包可以在项目Git仓库的“debian”分支中找到。 软件包是用“git-buildpackage”构建的,如下所示。 git checkout debiangit-buildpackage -uc -us Debian环境下使用构建包安装GPG。 sudo apt-get install gnupg MAC平台安装git-crypt、gpg Mac OS上安装git-crypt。 使用 brew 软件包管理器,只需运行如下命令。 brew install git-crypt Mac OS上安装GPG。 使用 brew 软件包管理器,只需运行如下命令。 brew install gpg
  • git-crypt加密在团队合作中的应用 在很多时候,团队需要在代码仓库中存储限制公开的文件,这时可以优先考虑使用“CodeArts Repo” + “Git” + “git-crypt”的组合,来实现部分文件在仓库分布式开源中的加密。 通常,直接使用密钥对方式的加密就能满足限制部分文件访问的需要。 当团队需要将加密文件设置不同的秘密级别时,可以使用GPG方式加密,这种方式支持您对同一个仓库的不同文件使用不同的密钥加密,将不同密级的密钥分别随仓库共享给组织内的伙伴,即可实现文件的定向分级限制访问。
  • 工作方式 将“项目公共仓”fork出一个“个人公共仓”。 将“个人公共仓”clone到“本地仓库”。 操作“本地仓库”,修改完成后提交到“个人公共仓”。 为“个人公共仓”提交一个pull request给项目维护者,申请代码合入“项目公共仓”。 项目维护者在本地review、验证本地提交,审核通过后push进入“项目公共仓”。 如果开发人员A的代码未被审核通过合入“公共仓库”,而此代码对开发人员B有借鉴作用,开发人员B可以直接从开发人员A的“个人公共仓”拉取代码。
  • git-crypt简介 git-crypt是一款第三方开源软件,可以用于对Git仓库中的文件进行透明化的加密和解密。其可对指定文件、指定文件类型等进行加密存储,开发者可以将加密文件(如机密信息或敏感数据)与可共享的代码存储在同一个仓库中,并如同普通仓库一样被拉取和推送,只有持有对应文件密钥的人才能查看到加密文件的内容,但并不会限制参与者对非加密文件读写。 也就是说,使用git-crypt可以让您仅加密特定文件,而不需要锁定整个仓库,这既方便了团队合作,又可兼顾信息安全。
  • 优点 使用一个用于发布准备的专门分支(release分支),使得一个团队可以在完善当前的发布版本的同时,可以在develop分支并行继续开发下个版本的功能。这也打造了可视化的发布阶段,团队成员都可以在仓库网状结构中可以看到发布状态。 使用紧急修复分支(hotfix分支)让团队可以处理紧急问题的同时而不打断其它工作或是等待下一个发布再合入hotfix修改。您可以把hotfix分支想成是一个直接在master分支上处理的临时发布。 大型项目人员协作频繁,流程较多,合理的多角色分支帮助研发有条不紊进行。 更符合devops理念。
  • 工作方式 master分支: 生产分支,最稳定的版本,一直是ready to deploy状态。不接受开发人员直接commit,只接受从其他分支merge操作。在很多企业中,这个分支被默认开启分支保护,只有维护者可以操作。 hotfix分支: 从master分支拉取的临时修复分支,用于解决一线紧急bug。bug解决后需要合入master分支并打上新的版本号,这个修改也需要同时合入develop分支。 develop分支: 从master分支拉取的开发分支,用于功能集成。包含所有要发布到下一个Release的代码用于开发集成、系统测试。 release分支: 临近既定的发布日,就从develop分支上拉取一个release分支,任何不在当前分支中的新功能都推到下个发布中。release分支用于发布,所以从当前时间点之后新的功能不能再加到这个分支上,这个分支只做Bug修复、文档生成和其它面向发布的任务。当对外发布的工作都完成了,release分支合并到master分支并分配一个版本号打好Tag;另外,这些从release分支新做的修改要反向合并回develop分支。 feature分支: 开发者使用的特性分支,父分支是develop分支,当新功能完成时,合入develop分支。新功能提交从不直接与master分支交互。
  • Tips:如何尽量避免产生冲突和不合理的提交历史? 开发人员在开发一个新功能之前,一定要在本地同步中央仓库最新代码,使自己的工作基于最新的代码之上;开发完成后,在提交新功能到中央仓库前,需要先fetch中央库的新增提交,并rebase自己的提交。这样做的目的是,把自己的修改加到中央仓别人已经提交的修改之上,使最终的提交记录是一个完美的线性历史,而不是环形,工作流举例如下图所示。 开发人员A和开发人员B同时在某个时间拉取了中央仓库的代码。 开发人员A先完成了自己的工作,并提交到中央仓库。 开发人员B需要在本地执行git pull –rebase中央仓库的新提交,这时开发人员B的本地仓库就包含了开发人员A修改的内容,并在A的基础上增加了自己的修改。 开发人员B将代码推送到中央仓库。
  • 查看仓库的动态 在仓库详情中的“动态”页签,可以查看截止当前仓库的全部动态。 全部:展示截止当前该仓库的所有操作记录。 推送:展示截至当前该仓库所有的推送操作记录,例如推送代码、新建/删除分支等。 合并请求:展示截至当前该仓库所有合并请求的操作记录,单击合并请求的序号可查看详情,例如新建/关闭/重开/合入合并请求等。 检视意见:展示截至当前该仓库所有检视意见记录,单击提交号可查看详情,例如添加/删除检视意见等。 成员:展示截至当前该仓库所有成员的管理记录,例如添加/移除成员、编辑成员权限等。 展示内容为操作者、具体的操作内容及操作时间。 支持选择时间范围、操作人等条件进行筛选查询。 父主题: 使用代码托管仓库
  • Git客户端上传下载代码 检查网络。 在客户端输入:telnet *************.com 22 如果显示commant not found,则说明网络无法访问代码托管服务; 检查客户端和代码托管服务器互信。 如果在pull、push时提示要输入密码,请确定是否已经添加了公钥文件。 添加完成后,判断互信是否添加成功:$ ssh -vT git@*************.com 如果出现如下图所示信息则表示互信正常。 如果已添加代码仓库的互信,双方指纹信息有变化,在提交代码时报公钥认证出错,需要做如下操作: 删除“~/.ssh/known_hosts”中*************.com相关的行。 重试push、pull或ssh -T git@*************.com。 遇到询问是否信任服务器公钥,输入“yes”即可。 代码正常下载,如果页面分支列表做了分支保护,提交的分支会显示在已受保护分支列表中,则向某个分支Push代码会不成功。 联系仓库管理员解除分支保护,解除保护后,开发人员可以正常提交代码。 父主题: Git客户端示例
  • 步骤三:新建项目,并将代码提交到本地的Git仓库中 新建项目“git_demo”,并新建“HelloWorld.java”类,如下图所示。 将“git_demo”项目提交到本地仓库,如下图所示。 在弹出的“Share Project”窗口中,选中“Git”,如下图所示。 单击“Next”,弹出“Configure Git Repository”,如下图所示。 单击“Create Repository”,成功创建Git仓库。 文件夹此时处于“untracked”状态(文件夹中以符号“?”表示)。 此时需要提交代码到本地仓库,如下图所示开始提交。 弹出“Commit Changes”窗口,设置提交信息,如下图所示。 单击“Commit”,代码提交到本地仓库,如下图所示。
  • 背景信息 Eclipse安装Git插件EGit后,可以完全对接代码托管,可以将本地Git仓库代码完整提交到远程Git仓库中。 只支持Ecplise 4.4以上版本(在Eclipse3.3版本没有自带EGit插件,无法安装)。 如果是首次提交: 首先在本地计算机建立一个仓库,称本地仓库。 然后在本地进行Commit,将更新提交到本地仓库。 最后将服务器端的更新Pull到本地仓库进行合并,最后将合并好的本地仓库Push到服务器端,即进行一次远程提交。 如果非首次提交: 首先将修改的代码Commit更新到本地仓库。 然后将服务器端的更新Pull到本地仓库进行合并,最后将合并好的本地仓库Push到服务器端。
  • 步骤四:将本地仓库代码提交到远程的Git仓库中 在代码托管服务中创建仓库。 创建好远程仓库后,进入远程代码仓库详情页面,可以复制远程仓库地址。 选择Push菜单,开始将代码提交到远程仓库,如下图所示。 在弹出的“Push to Another Repository”窗口中,设置相应参数,如下图所示。 单击“Next”,弹出“Push Ref Specifications”,如下图所示。 单击“Add Spec”,成功添加,如下图所示。 单击“Next”,弹出“Push Confirmation”窗口,如下图所示。 单击“Finish”提交本地代码,如下图所示。 单击“OK”,完成代码提交远程仓库。 登录远程仓库地址,核对提交的代码。
  • 后续指引 完成TPC-H样例模板开发并提交Spark SQL作业操作后,如果您想了解更多关于Spark SQL作业相关操作,建议您参考以下指引阅读。 分类 文档 说明 界面操作 SQL编辑器 提供执行Spark SQL语句操作的界面指导,包含SQL编辑器界面基本功能介绍、快捷键以及使用技巧等说明。 Spark SQL作业管理 提供Spark SQL作业管理界面功能介绍。 Spark SQL模板管理 DLI 支持定制模板或将正在使用的SQL语句保存为模板,便捷快速的执行SQL操作。 开发指导 Spark SQL语法参考 提供Spark SQL数据库、表、分区、导入及导出数据、自定义函数、内置函数等语法说明和样例指导。 使用Spark作业访问DLI元数据 提供Spark SQL作业开发的操作指引和样例代码参考。 Spark SQL 相关API 提供Spark SQL相关API的使用说明。
  • 后续指引 完成Spark SQL作业快速入门操作后,如果您想了解更多关于Spark SQL作业相关操作,建议您参考以下指引阅读。 分类 文档 说明 界面操作 SQL编辑器 提供执行Spark SQL语句操作的界面指导,包含SQL编辑器界面基本功能介绍、快捷键以及使用技巧等说明。 Spark SQL作业管理 提供Spark SQL作业管理界面功能介绍。 Spark SQL模板管理 DLI支持定制模板或将正在使用的SQL语句保存为模板,便捷快速的执行SQL操作。 开发指导 Spark SQL语法参考 提供Spark SQL数据库、表、分区、导入及导出数据、自定义函数、内置函数等语法说明和样例指导。 使用Spark作业访问DLI元数据 提供Spark SQL作业开发的操作指引和样例代码参考。 Spark SQL 相关API 提供Spark SQL相关API的使用说明。
  • 步骤3:创建数据库 在进行数据查询之前还需要创建一个数据库,例如db1。 “default”为内置数据库,不能创建名为“default”的数据库。 在DLI管理控制台,单击左侧导航栏中的“SQL编辑器”,可进入SQL作业“数据库”页面。 在“SQL编辑器”页面右侧的编辑窗口中,输入如下SQL语句,单击“执行”。阅读并同意隐私协议,单击“确定”。 create database db1; 数据库创建成功后,左侧单击“ ”刷新数据库页面,新建建的数据库db1会在“数据库”列表中出现。 在DLI管理控制台第一次单击“执行”操作时,需要阅读隐私协议,确认同意后才能执行作业,且后续“执行”操作将不会再提示阅读隐私协议。
  • 步骤1:上传数据至OBS 使用DLI查询数据前,需要将数据文件上传至OBS中。 登录管理控制台。 在服务列表中,单击“存储”中的“ 对象存储服务 OBS”,进入OBS管理控制台页面。 创建桶,本例桶名以“obs1”为例。 单击页面右上角“创建桶”。 进入“创建桶”页面,选择“区域”,输入“桶名称”。其他参数保持默认值或根据需要选择。 创建OBS桶时,需要选择与DLI管理控制台相同的区域,不可跨区域执行操作。 单击“立即创建”。 单击所建桶“obs1”,进入“对象”页面。 勾选左侧列表中的“对象”,选择“上传对象”,将需要上传的文件“sampledata.csv”上传到指定目录,单击“上传”。 “sampledata.csv”样例文件可以通过新建“sampledata.txt”,复制如下英文逗号分隔的文本内容,再另存为“sampledata.csv”。 12,test 文件上传成功后,待分析的文件路径为“obs://obs1/sampledata.csv”。 关于OBS管理控制台更多操作请参考《对象存储服务控制台指南》。 OBS上传文件指导,请参见《OBS工具指南》。 针对大文件场景,由于OBS管理控制台对文件大小和数量限制较多,所以推荐使用OBS工具上传大文件,如OBS Browser+或obsutil工具上传。 OBS Browser+是一个比较常用的图形化工具,支持完善的桶管理和对象管理操作。推荐使用此工具创建桶或上传对象。 obsutil是一款用于访问管理OBS的命令行工具,对于熟悉命令行程序的用户,obsutil是执行批量处理、自动化任务的好的选择。 您可以通过以下多种方式将文件上传至桶,OBS最终将这些文件以对象的形式存储在桶中。 表1 OBS上传对象的不同访问方式 访问方式 上传对象方法 控制台 通过控制台上传对象 OBS Browser+ 通过OBS Browser+上传对象 obsutil 通过obsutil上传对象 SDK 使用SDK上传对象 ,具体参考各语言开发指南的上传对象章节 API PUT上传 、POST上传
  • 步骤5:查询数据 完成以上步骤后,就可以开始进行数据查询了。 单击“SQL编辑器”页面左侧的“数据库”页签,选择新创建的表table1,双击表,在右侧编辑窗口中,自动输入SQL查询语句,例如查询table1表的1000条数据: select * from db1.table1 limit 1000; 单击“执行”,系统开始查询。 SQL语句执行成功/失败后,可在SQL作业编辑窗口下方“查看结果”页签查看查询结果。
  • 步骤2:创建队列 队列是使用DLI服务的基础,执行SQL作业前需要先创建队列。 DLI有预置的可用队列“default”。若使用default队列,将按照扫描量计费。 用户也可根据需要自己创建队列。使用自建队列,将按照CU时或包年包月计费。 登录DLI管理控制台。 第一次进入 数据湖探索 管理控制台需要进行授权,以获取访问OBS的权限。 至少勾选“Tenant Administrator(全局服务)”权限。 在DLI管理控制台,单击左侧导航栏中的“SQL编辑器”,可进入SQL作业“数据库”页面。 在左侧导航栏,选择队列页签,单击右侧的创建队列。 图1 创建队列 创建队列详细介绍请参考创建队列。 具体计费方式请参考《 数据湖 探索产品介绍》。
  • 步骤4:创建表 数据库创建完成后,需要在数据库db1中基于OBS上的样本数据“obs://obs1/sampledata.csv”创建一个表,例如table1。 在“SQL编辑器”页面右侧的编辑窗口上方,选择队列“default”和数据库“db1”。 在编辑窗口中,输入如下SQL语句,单击“执行”。 create table table1 (id int, name string) using csv options (path 'obs://obs1/sampledata.csv'); 表table1创建成功后,单击左侧“数据库”页签,再单击db1,新创建的表table1会在“表”区域下方显示。
  • 后续指引 完成Spark Jar作业快速入门操作后,如果您想了解更多关于Spark Jar作业相关操作,建议您参考以下指引阅读。 分类 文档 说明 界面操作 Spark Jar作业管理 提供Spark Jar作业管理界面功能介绍。 Spark程序包管理 针对不同角色用户,您可以通过权限设置分配不同的程序包组或程序包,不同用户之间的作业效率互不影响,保障作业性能。 开发指南 Spark SQL语法参考 提供Spark SQL相关的数据库、表、分区、导入及导出数据、自定义函数、内置函数等语法说明和样例指导。 Spark Jar 相关API 提供Spark Jar相关API的使用说明。 Spark 作业SDK参考 提供执行Spark批处理作业的接口样例说明。
共100000条