日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用 SAP HANA Virtual Table 连接外部数据源

發布時間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 SAP HANA Virtual Table 连接外部数据源 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Access Remote Sources with SAP HANA Database Explorer

遠程源(Remote sources)是與其他數據庫的連接。 虛擬表使用遠程源創建指向存儲在另一個數據庫中的數據的本地表。 聯合查詢使用虛擬和非虛擬表。

為了說明這些概念,將在遠程數據庫中創建一個表,其中包含來自給定酒店附近的一些頂級旅游景點的虛構評論數據。 酒店住宿與客戶訪問附近旅游景點或餐廳的愿望之間可能存在相關性。

有關 SAP HANA 智能數據訪問 (SAP HANA smart data access,SDA) 和 SAP HANA 智能數據集成 (SAP HANA Smart Data Integration,SDI) 的更多詳細信息,請參閱將 SAP HANA 云連接到遠程數據源和使用 SAP HANA 云進行數據訪問。

要從 SAP HANA 快速版創建遠程源到 SAP HANA Cloud,請從 SAP HANA 快速版打開 SAP HANA 數據庫瀏覽器。

指定服務器、端口、額外的適配器屬性和憑據(User1、Password1)。

當然也可以執行通過執行 sql 語句來完成遠程數據源的添加:

CREATE REMOTE SOURCE REMOTE_HC_TRIAL ADAPTER "hanaodbc" CONFIGURATION 'ServerNode=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.hana.trial-XXXX.hanacloud.ondemand.com:443;driver=libodbcHDB.so;dml_mode=readwrite;sslTrustStore="-----BEGIN CERTIFICATE-----MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQkCAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=-----END CERTIFICATE-----"' WITH CREDENTIAL TYPE 'PASSWORD' USING 'user=User1;password=Password1';

可以通過選擇操作 > 復制 > SQL 端點從 SAP HANA Cloud Central 復制 ServerNode。

執行create remote source SQL語句后,在Remote Sources文件夾中可以看到結果,如下圖。 您可能需要按刷新按鈕。

下一步,將在 SAP HANA 快速版中創建名為 vt_tourist_reviews 的虛擬表。 這將允許訪問在 SAP HANA Cloud 中創建的 Tourist_reviews 表。 這可以可視化如下:

從 SAP HANA 快速版打開 SAP HANA 數據庫資源管理器。 如果需要,創建 HOTEL 模式和可以訪問該模式的用戶。

CREATE USER USER1 PASSWORD Password1 no force_first_password_change; CREATE SCHEMA HOTEL; GRANT ALL PRIVILEGES ON SCHEMA HOTEL TO USER1;

右鍵單擊名為 REMOTE_HC_TRIAL 的遠程源并選擇 Open。

選中 TOURIST_REVIEWS 復選框并按下 Create Virtual Object(s) 按鈕。

將對象名稱設置為 VT_TOURIST_REVIEWS,將 schema 設置為 HOTEL。

按創建按鈕。

或者使用 SQL 語句創建 virtual table:

CREATE VIRTUAL TABLE HOTEL.VT_TOURIST_REVIEWS AT "REMOTE_HC_TRIAL"."HC_HDB_Trial"."HOTEL"."TOURIST_REVIEWS";

打開創建好的數據庫表,發現其類型為 VIRTUAL:

下面的 SQL 語句演示了對本地表和遠程表執行查詢,并執行包含本地和遠程表的聯合查詢。

SELECT * FROM HOTEL.RESERVATION; SELECT * FROM HOTEL.CUSTOMER; SELECT * FROM HOTEL.VT_TOURIST_REVIEWS; SELECT C.NAME, TR.REVIEW, REVIEW_DATE FROMHOTEL.RESERVATION AS R JOINHOTEL.VT_TOURIST_REVIEWS AS TRON TR.REVIEW_DATE = R.ARRIVAL JOINHOTEL.CUSTOMER AS CON C.CNO = R.CNO;

從執行時間我們不難發現,從遠程表讀取數據,花費的時間明顯多于從本地表讀取:

Connect from SAP HANA Cloud to SAP HANA Cloud, data lake IQ

SAP HANA Cloud,data lake 可用于存儲大量不常訪問的數據。 以下步驟在 SAP HANA Cloud、data lake IQ 中創建表 Tourist_reviews 并從關聯的 SAP HANA Cloud 實例訪問該表。

如果需要,在 SAP HANA Cloud Central 中,通過選擇操作: 添加數據湖,將 SAP HANA 云數據湖實例添加到您的 SAP HANA 云實例。

執行以下SQL,在數據湖IQ中創建一個名為tourist_reviews的表。

CREATE TABLE TOURIST_REVIEWS (REVIEW_ID INTEGER PRIMARY KEY,REVIEW_DATE DATE NOT NULL,DESTINATION_ID INTEGER,DESTINATION_RATING INTEGER,REVIEW VARCHAR(500) NOT NULL );INSERT INTO TOURIST_REVIEWS(REVIEW_ID, REVIEW_DATE, DESTINATION_ID, DESTINATION_RATING, REVIEW) VALUES(1, '2019-03-15', 1, 5, 'We had a great day swimming at the beach and exploring the beach front shops. We will for sure be back next summer.'); INSERT INTO TOURIST_REVIEWS(REVIEW_ID, REVIEW_DATE, DESTINATION_ID, DESTINATION_RATING, REVIEW) VALUES(2, '2019-02-02', 1, 4, 'We had an enjoyable meal. The service and food was outstanding. Would have liked to have slightly larger portions');

在 SAP HANA 數據庫連接中,創建從 HANA 數據庫到數據湖 IQ 的遠程源。 請務必替換主機和密碼值。

CREATE REMOTE SOURCE HC_DL_TrialADAPTER "IQODBC"CONFIGURATION 'Driver=libdbodbc17_r.so;host=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.iq.hdl.trial-XXXX.hanacloud.ondemand.com:443;ENC=TLS(tls_type=rsa;direct=yes)'WITH CREDENTIAL TYPE 'PASSWORD'USING 'user=HDLADMIN;password=myPassword1';

刷新之后,就看到一個名為 HC_DL_TRIAL 的 remote source 了:

右鍵單擊 HC_DL_TRIAL 并選擇打開。 在 SAP HANA Cloud 中的架構 HOTEL 中創建一個名為 VT_DL_TOURIST_REVIEWS 的虛擬表,該表映射到 SAP HANA Cloud 數據湖 IQ 中新創建的表。

示意圖如下:

SELECT * FROM HOTEL.VT_DL_TOURIST_REVIEWS;

請注意,遠程數據源是可更新的。 數據存儲在 SAP HANA Cloud 中,數據湖存儲在磁盤上,與內存存儲相比具有成本優勢。 SAP HANA Cloud,數據湖也可用于存儲大量數據。

更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的使用 SAP HANA Virtual Table 连接外部数据源的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。