一步步學習如何安裝並使用SAP HANA Express Edition

使用Jerry這篇文章在Google Cloud platform上的Kubernetes集羣部署HANA Express裏介紹的方法在Google Cloud Platform的Kubernetes cluster上安裝SAP HANA Express.web

文中介紹了一個yaml文件,裏面聲明瞭容器鏡像文件store/saplabs/hanaexpress:2.00.033.00.20180925.2.sql

安裝完成後,在啓動的pod裏有兩個容器,分別運行着SQLPad和HANA Express.shell

SQLPad是一個基於Nodejs開發的直接在瀏覽器運行SQL查詢並對結果進行可視化展現工具。SQLPad支持的數據庫很是多,好比:MySQL, Postgres, SQL Server, Vertica, Crate, Presto等。數據庫

使用kubectl get services拿到sqlpad的external IP:express

在瀏覽器裏輸入剛纔得到的IP地址,後面加上默認的3000端口,打開sqlpad的web控制檯:瀏覽器


註冊一個賬戶並登陸:app

選擇admin-Connections:ide

新建一個數據庫鏈接:工具

database driver從下拉菜單裏選擇SAP HANA:idea

回到Google Cloud Platform的cloud shell,使用kubectl get services得到hxe-connect的external IP:

把這個地址填到數據庫建立嚮導裏:

建立一個名爲quotes的collection並插入一些數據:

create collection quotes;

insert into quotes values ( { "FROM" : 'HOMER', "TO" : 'BART',  "QUOTE" :  'I want to share something with you: The three little sentences that will get you through life. Number 1: Cover for me. Number 2: Oh, good idea, Boss! Number 3: It wai like that when I got here.', "MOES_BAR" : 'Point(  -86.880306 36.508361 )', "QUOTE_ID" : 1  });

insert into quotes values ( { "EPISODE" : 'GRADE SCHOOL CONFIDENTIAL', "FROM" : 'HOMER',   "QUOTE" :  'Wait a minute. Bart''s teacher is named Krabappel? Oh, I''ve been calling her Crandall. Why did not anyone tell me? Ohhh, I have been making an idiot out of myself!', "QUOTE_ID" : 2, "MOES_BAR" : 'Point( 2.161018 41.392641 )' });

insert into quotes values ( { "FROM" : 'HOMER',   "QUOTE" :  'Oh no! What have I done? I smashed open my little boy''s piggy bank, and for what? A few measly cents, not even enough to buy one beer. Weit a minute, lemme count and make sure…not even close.', "MOES_BAR" : 'Point( -122.400690 37.784366 )', "QUOTE_ID" : 3 });

注意這個生成的sql collection並非數據庫表,而是一種document store(noSQL),實際上只是鍵值對-key value pair.

下面的SQL語句執行的操做是把document store裏的值取出進行分析,將分析結果存放到新建立的column table裏:

--Create a columnar table with a text fuzzy search index
create column table quote_analysis
(
    id integer,
    homer_quote text FAST PREPROCESS ON FUZZY SEARCH INDEX ON,
    lon_lat nvarchar(200)

);


-- Copy the quotes form the JSON store to the relational table
insert into quote_analysis
with doc_store as (select quote_id, quote from quotes)
select doc_store.quote_id as id, doc_store.quote as homer_quote, 'Point( 2.151255 41.354159 )'
from doc_store;

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":

相關文章
相關標籤/搜索