日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過XIHE SQL或者Spark SQL訪問OSS數據

AnalyticDB for MySQL企業版、基礎版及湖倉版支持通過XIHE SQL和Spark SQL訪問OSS數據。本文以基金交易數據處理為例,介紹通過XIHE SQL和Spark SQL訪問OSS數據的具體步驟。

前提條件

  • 已開通OSS服務并創建存儲空間和目錄。具體操作,請參見開通OSS服務、創建存儲空間創建目錄

  • 集群的產品系列為企業版、基礎版或湖倉版。

  • 已在AnalyticDB for MySQL集群中創建Job型資源組。具體操作,請參見新建資源組。

  • 已創建AnalyticDB for MySQL集群的數據庫賬號。

  • 已授權AnalyticDB for MySQL扮演AliyunADBSparkProcessingDataRole角色來訪問其他云資源。具體操作,請參見賬號授權

操作步驟

  1. 準備數據。

    1. 下載模擬數據并解壓。

    2. 將模擬數據中的交易信息表用戶數據表分別上傳至OSS中的<bucketname>/adb/trade/<bucketname>/adb/user/目錄。具體操作,請參見上傳文件。

      說明
      • 模擬數據中,交易信息表的表名以dc_trade_final_dd開頭,用戶數據表的表名為user_info

      • 您需將<bucketname>替換為實際的Bucket名稱。

  2. 訪問數據。

    通過XIHE SQL訪問OSS數據

    1. 登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在企業版、基礎版或湖倉版頁簽下,單擊目標集群ID。

    2. 在左側導航欄,單擊作業開發>SQL開發。

    3. SQLConsole窗口,選擇Job型資源組和XIHE引擎。

    4. 創建數據庫。如果有已創建的數據庫,可以忽略本步驟。示例如下:

      CREATE DATABASE adb_demo; 
    5. 創建OSS外表。

      創建交易信息表

      CREATE EXTERNAL TABLE tradelist_csv (
          t_userid STRING COMMENT '用戶ID',
          t_dealdate STRING COMMENT '申請時間', 
          t_businflag STRING COMMENT '業務代碼', 
          t_cdate STRING COMMENT '確認日期', 
          t_date STRING COMMENT '申請日期',
          t_serialno STRING COMMENT'申請序號', 
          t_agencyno STRING COMMENT'銷售商編號', 
          t_netno STRING  COMMENT'網點編號',
          t_fundacco STRING COMMENT'基金賬號',
          t_tradeacco STRING COMMENT'交易賬號',
          t_fundcode STRING  COMMENT'基金代碼',
          t_sharetype STRING COMMENT'份額類別',
          t_confirmbalance DOUBLE  COMMENT'確認金額',
          t_tradefare DOUBLE COMMENT'交易費',
          t_backfare DOUBLE COMMENT'后收手續費',
          t_otherfare1 DOUBLE COMMENT'其他費用1',
          t_remark STRING COMMENT'備注'
          )
          ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
          STORED AS TEXTFIlE
          LOCATION 'oss://<bucketname>/adb/trade/';

      語法說明,請參見OSS外表。其中,LOCATION為交易信息表所在的OSS路徑。

      創建用戶信息表

      CREATE EXTERNAL TABLE userinfo (
          u_userid STRING COMMENT '用戶ID',
          u_accountdate STRING COMMENT '開戶時間', 
          u_gender STRING COMMENT '性別', 
          u_age INT COMMENT '年齡', 
          u_risk_tolerance INT COMMENT '風險承受能力,1-10,10為最高級',
          u_city STRING COMMENT'所在城市', 
          u_job STRING COMMENT'工作類別, A-K', 
          u_income DOUBLE  COMMENT'年收入(萬)'
          )
          ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
          STORED AS TEXTFIlE
          LOCATION 'oss://<bucketname>/adb/user/';

      語法說明,請參見OSS外表。其中,LOCATION為用戶信息表所在的OSS路徑。

    6. 查詢外表數據。

      您可以選擇通過同步執行或異步執行查詢數據,同步執行的結果會直接顯示,異步執行會返回job_id,您可以通過job_id查詢異步任務狀態,判斷任務是否執行成功。

      同步查詢

      • 示例一:查詢交易機構SXS_0010,在0603至0604的100條交易記錄。

        SELECT * FROM tradelist_csv 
        WHERE t_cdate >= '2018-06-03' and t_cdate <= '2018-06-04' and t_agencyno = 'SXS_0010' 
        limit 100;

        返回結果:

        +-----------+---------------------+---------------+--------------+--------------+-------------------+--------------+------------+
        | t_userid  |     t_dealdate      | t_businflag   |   t_cdate    |   t_date     |  t_serialno       |  t_agencyno  |  t_netno   |
        +-----------+---------------------+---------------+--------------+--------------+-------------------+--------------+------------+
        | 00041972  | 2018-06-03 09:11:57 |  保本基金B    |  2018-06-03  |  2018-06-03  | 2018-06-03-000846 |  SXS_0010S   | STORE-0135 |
        +-----------+---------------------+---------------+--------------+--------------+-------------------+--------------+------------+
        | 00051912  | 2018-06-03 09:28:20 |  保本基金D    |  2018-06-03  |  2018-06-03  | 2018-06-03-001046 |  SXS_0010S   | STORE-0397 |
        +-----------+---------------------+---------------+--------------+--------------+-------------------+--------------+------------+
        | 00120370  | 2018-06-03 11:21:39 |  保本基金B    |  2018-06-03  |  2018-06-03  | 2018-06-03-002393 |  SXS_0010S   | STORE-0800 |
        +-----------+---------------------+---------------+--------------+--------------+-------------------+--------------+------------+
        | 00165308  | 2018-06-03 12:35:35 |  保本基金D    |  2018-06-03  |  2018-06-03  | 2018-06-03-003281 |  SXS_0010S   | STORE-0340 |
        +-----------+---------------------+---------------+--------------+--------------+-------------------+--------------+------------+
        說明

        本示例為部分返回結果,實際結果請以控制臺為準。

      • 示例二:查詢各城市、男性女性人群,購買的基金總額(多表Join查詢)。

        SELECT u_city, u_gender, SUM(t_confirmbalance) AS sum_balance 
        FROM tradelist_csv , userinfo  
        WHERE u_userid = t_userid 
        GROUP BY u_city, u_gender 
        ORDER BY sum_balance DESC;

        返回結果:

        +-----------+------------+----------------+
        | u_city    | u_gender   | sum_balance    |
        +-----------+------------+----------------+
        | Beijing   |  male      | 2445539161     |
        +-----------+------------+----------------+
        | Guangzhou |  male      | 1271999857     |
        +-----------+------------+----------------+
        | Qingdao   |  male      | 1266748660     |
        +-----------+------------+----------------+
        | Wuhan     |  male      | 12641688475    |
        +-----------+------------+----------------+
        說明

        本示例為部分返回結果,實際結果請以控制臺為準。

      異步查詢

      查詢各城市、男性女性人群,購買的基金總額(多表Join查詢)。

      SUBMIT JOB SELECT u_city, u_gender, SUM(t_confirmbalance) AS sum_balance 
      FROM tradelist_csv , userinfo  
      WHERE u_userid = t_userid 
      GROUP BY u_city, u_gender 
      ORDER BY sum_balance DESC;

      返回結果:

      +---------------------------------------+
      | job_id                                |
      +---------------------------------------+
      | 2023091410365702101701713803151****** |
      +---------------------------------------+

      使用SUBMIT JOB提交異步任務后,您可以通過job_id終止異步任務或查詢異步任務狀態,具體操作,請參見異步提交任務。

    通過Spark SQL訪問OSS數據

    1. 登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在企業版、基礎版或湖倉版頁簽下,單擊目標集群ID。

    2. 在左側導航欄,單擊作業開發>SQL開發。

    3. SQLConsole窗口,選擇Job型資源組和Spark引擎。

    4. 創建數據庫。如果有已創建的數據庫,可以忽略本步驟。示例如下:

      CREATE DATABASE adb_test; 
    5. 創建OSS外表。

      創建交易信息表

      CREATE EXTERNAL TABLE adb_test.tradelist_csv (
          t_userid STRING COMMENT '用戶ID',
          t_dealdate STRING COMMENT '申請時間', 
          t_businflag STRING COMMENT '業務代碼', 
          t_cdate STRING COMMENT '確認日期', 
          t_date STRING COMMENT '申請日期',
          t_serialno STRING COMMENT'申請序號', 
          t_agencyno STRING COMMENT'銷售商編號', 
          t_netno STRING  COMMENT'網點編號',
          t_fundacco STRING COMMENT'基金賬號',
          t_tradeacco STRING COMMENT'交易賬號',
          t_fundcode STRING  COMMENT'基金代碼',
          t_sharetype STRING COMMENT'份額類別',
          t_confirmbalance DOUBLE  COMMENT'確認金額',
          t_tradefare DOUBLE COMMENT'交易費',
          t_backfare DOUBLE COMMENT'后收手續費',
          t_otherfare1 DOUBLE COMMENT'其他費用1',
          t_remark STRING COMMENT'備注'
          )
          ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
          STORED AS TEXTFIlE
          LOCATION 'oss://<bucketname>/adb/trade/';

      語法說明,請參見OSS外表。其中,LOCATION為交易信息表所在的OSS路徑。

      創建用戶信息表

      CREATE EXTERNAL TABLE adb_test.userinfo (
          u_userid STRING COMMENT '用戶ID',
          u_accountdate STRING COMMENT '開戶時間', 
          u_gender STRING COMMENT '性別', 
          u_age INT COMMENT '年齡', 
          u_risk_tolerance INT COMMENT '風險承受能力,1-10,10為最高級',
          u_city STRING COMMENT'所在城市', 
          u_job STRING COMMENT'工作類別, A-K', 
          u_income DOUBLE  COMMENT'年收入(萬)'
          )
          ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
          STORED AS TEXTFIlE
          LOCATION 'oss://<bucketname>/adb/user/';

      語法說明,請參見OSS外表。其中,LOCATION為用戶信息表所在的OSS路徑。

    6. 查詢數據。

      說明

      執行Spark SQL語句,只返回執行成功或者失敗,不返回查詢結果。您可以在Spark Jar開發頁面應用列表頁簽中的日志查看查詢結果。詳情請參見查看Spark應用信息

      • 示例一:查詢交易機構SXS_0010,在0603至0604的100條交易記錄。

        SELECT * FROM adb_test.tradelist_csv 
        WHERE t_cdate >= '2018-06-03' and t_cdate <= '2018-06-04' and t_agencyno = 'SXS_0010' 
        LIMIT 100;
      • 示例二:查詢各城市、男性女性人群,購買的基金總額(多表Join查詢)。

        SELECT u_city, u_gender, SUM(t_confirmbalance) AS sum_balance 
        FROM adb_test.tradelist_csv , adb_test.userinfo  
        WHERE u_userid = t_userid 
        GROUP BY u_city, u_gender 
        ORDER BY sum_balance DESC;

相關文檔

通過外表導入至湖倉版