BTP客户在获取BTP账户之后会收到邮件,内包含激活账号方式及自己的全局账号链接
要开发HANA Cloud Model,推荐使用BTP的IDE Business Application Studio, 这里为我们本次项目创建一个空间
由于本次练习涉及的高阶功能不多,所以不需要选择太多额外Feature,只需要输入Space名,选择SAP HANA Native Application,就可以点击创建Dev Space了
等待新的Space创建完成后点击进入,接下来为了将IDE与HANA Cloud相连,我们需要登录HC所在BTP环境的Cloud Foundry Endpoint,这里可以直接打开Terminal,输入命令来完成登录:
在terminal中输入
cf login -a “API Endpoint”-o “Org Name”-s “BTP内Space名” -u “登录用户名”
这些参数可以在BTP子账户的概况下找到
例如我这里输入的是
cf login -a https://api.cf.cn40.platform.sapcloud.cn -o poc_env -s arthur -u [email protected]
登录后就可以开始创建HANA Cloud项目了,首先从左上角的“File-Project from Template”来快速启动项目,点击SAP HANA Database project后就可以点击Start开始构建项目了
接下来一步步完善项目细节,Project Name我这里取的是HCtoSAC,module name是默认的db,SAP HANA Database Version也是默认的HANA Cloud, 一路保持默认选项直到点击Finish
除了命令行之外,我们还可以查找快捷命令来使用更多功能,点击页面上方的“View-command palette”即可唤出搜索框
这里找到Create SAP HANA Database Artifact命令,点击它来唤出配置界面
完善配置信息后,点击Create,就会跳转到刚刚创建出来的customers.hdbtable文件内
将该文件内容修改为
COLUMN TABLE “customers”(custid integer, custname varchar(40), custcountry varchar(3), custregion varchar(4));
这样就定义了一个基础Model
再单击文件内容右上角的小火箭图标,即可将这个table部署进HANA Cloud
接下来重复以上操作,右键该customers.hdbtable的父文件夹src,新建一个文件,命名为sales.hdbtable,
将其文件内容设置为
COLUMN TABLE “sales” ( sid integer, pid varchar(5), sdate date, samt integer, custid integer )
最后点击小火箭进行部署,这样我们就有了两个Table,customers和sales
在文件目录下方,页面左下角,打开SAP HANA Projects部分,将鼠标悬浮在项目名上,点击右侧浮现的图标,即可打开HANA Database Explorer
默认会打开本HANA Project对应的HDI Container路径(HDI指的是在部署到Runtime环境前的Design-Time环境),在下方找到table部分,点击它,就可以在左下方看到我们刚刚创建的两个空白table
右键目标table,选择Generate INSERT Statement,将数据填入SQL中,再执行SQL,即可插入一条数据,
对sales表也执行同样的操作,注意Date类型需要以”YYYY-MM-DD”格式填写,例如我填写的是2023-10-13
回到BAS(Business Application Studio),利用“View-Command Palette-Create HANA Database artifact”来唤出创建选项,将组件类型选为Calculation View,组件名设置为customerwisesales后直接点击创建即可
创建后默认会打开该组件的文件,从左侧控件栏中添加一个Join Node到右侧空白画布上
点击Join Node右侧的加号,在弹出框中搜索并选中sales和customers这两个表即可,
我先前在两个table内创建的各一条数据中,CUSTID都为101,让我们以CUSTID为关联关系来Join两个table
双击画布上的Join Node,在Join Definition中单击要Join的列名,再按住该行并拖到另一个table中对应的列名上
点击Mapping这个tab,将源表属性拖到输出列,两个源表的CUSTID选一个拖过去即可
再单击画布上的Join Node,按住其右上角的Connect箭头并拖拽到Aggregation节点上并松开,再双击Aggregation,将数据源的所有属性拖到输出列上
双击Semantic Node,将CUSTID和SID选为属性
最后点击该calculationView右上角的小火箭以将其部署,部署完成后,回到HANA Database Explorer内该HDI的Column View处,就可以看到刚刚部署好的计算视图了
要将BTP的云服务提供给其他消费者使用,需要为该服务创建Service Instance,并为每一个外部消费者创建一个Service Key来代表该消费者,但我们在第一次创建HANA Cloud Project项目时这些都已经自动创建好了,我们只需要来到BTP中我们BAS所在的Space内(或者子账户内也可以),从左侧实例中找到自动创建的服务实例及里面的Service Key即可
再打开SAC,进入左侧的连接内,新增连接,在弹出窗口中选择SAP HANA,
将该链接命名为HCtoSAC, 链接类型选择SAP HANA Cloud, 再用先前保存的Service Key内容填写剩余的Host, User Name, Password等
这样连接就建好了
最后让我们利用该Live链接在SAC中创建一个Model,进入建模器,选择实时数据模型
选择先前建立好的连接,此时SAC会自动将该链接背后可选用的数据源列出来,选中我们在HC内创建的customerwisesales 这个calculation view
最后保存,我们的模型就建立好了,之后SAC就可以基于这样的Live连接来消费HANA Cloud里的数据,进行更加用户友好的可视化展示
关于本文内容有任何问题或见解,欢迎在评论区留下你的想法,如果时间紧迫,也可以直接联系到我 [email protected],感谢你的时间