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

通過(guò)Spark SQL讀Lindorm數(shù)據(jù)

云原生數(shù)據(jù)倉(cāng)庫(kù) AnalyticDB MySQL 版支持通過(guò)Spark SQL訪問(wèn)Lindorm數(shù)據(jù)庫(kù)。本文主要介紹如何通過(guò)Spark SQL訪問(wèn)Lindorm中的Hive表和寬表的數(shù)據(jù)。

前提條件

  • 已創(chuàng)建Lindorm單可用區(qū)實(shí)例。具體操作,請(qǐng)參見(jiàn)創(chuàng)建實(shí)例

    重要

    Lindorm實(shí)例需開(kāi)通寬表引擎、計(jì)算引擎、LindormDFS。計(jì)算引擎開(kāi)通方式,請(qǐng)參見(jiàn)開(kāi)通與變配

  • 已開(kāi)通OSS服務(wù)并創(chuàng)建存儲(chǔ)空間和項(xiàng)目。具體操作,請(qǐng)參見(jiàn)開(kāi)通OSS服務(wù)創(chuàng)建存儲(chǔ)空間管理目錄

  • 集群的產(chǎn)品系列為企業(yè)版、基礎(chǔ)版或湖倉(cāng)版

  • 已在企業(yè)版、基礎(chǔ)版或湖倉(cāng)版集群中創(chuàng)建Job型資源組。具體操作,請(qǐng)參見(jiàn)新建資源組

  • 已創(chuàng)建企業(yè)版、基礎(chǔ)版或湖倉(cāng)版集群的數(shù)據(jù)庫(kù)賬號(hào)。

準(zhǔn)備工作

  1. Lindorm管理控制臺(tái)實(shí)例詳情頁(yè)面,獲取交換機(jī)ID。

  2. Lindorm管理控制臺(tái)訪問(wèn)控制頁(yè)面,單擊安全組頁(yè)簽,查看Lindorm實(shí)例所屬的安全組ID。如未添加安全組,請(qǐng)參見(jiàn)添加安全組

訪問(wèn)Lindorm中的Hive數(shù)據(jù)

  1. 獲取HDFS客戶端hdfs-site配置信息。

    說(shuō)明

    如需獲取hdfs-site配置信息,請(qǐng)聯(lián)系Lindorm技術(shù)支持(釘釘號(hào):s0s3eg3)。

  2. 登錄云原生數(shù)據(jù)倉(cāng)庫(kù)AnalyticDB MySQL控制臺(tái),在左上角選擇集群所在地域。在左側(cè)導(dǎo)航欄,單擊集群列表,在企業(yè)版、基礎(chǔ)版或湖倉(cāng)版頁(yè)簽下,單擊目標(biāo)集群ID。

  3. 在左側(cè)導(dǎo)航欄,單擊作業(yè)開(kāi)發(fā) > SQL開(kāi)發(fā)

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

  5. SQLConsole窗口中輸入以下作業(yè)內(nèi)容:

    SET spark.adb.connectors = oss,external_hive;
    SET spark.adb.eni.enabled=true;
    SET spark.adb.eni.vswitchId=vsw-bp14pj8h0k5p0kwu3****;
    SET spark.adb.eni.securityGroupId=sg-bp11m93k021tp4ca****;
    SET spark.sql.catalog.lindorm_catalog = org.apache.spark.sql.hive.V2HiveExternalCatalog;
    SET spark.adb.eni.adbHostAlias.enabled=true;
    SET spark.sql.catalogImplementation = hive;
    -- HDFS相關(guān)配置
    SET spark.sql.catalog.lindorm_catalog.spark.hadoop.hive.metastore.uris=thrift://ld-bp1ttz8833x9c****-proxy-ldps-hms.lindorm.aliyuncs.com:9083;
    SET spark.hadoop.dfs.nameservices=ld-bp1ttz8833x9c****;
    SET spark.hadoop.dfs.client.failover.proxy.provider.ld-bp1ttz8833x9c****=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider;
    SET spark.hadoop.dfs.ha.automatic-failover.enabled=true;
    SET spark.hadoop.dfs.ha.namenodes.ld-bp1ttz8833x9c****=nn1,nn2;
    SET spark.hadoop.dfs.namenode.rpc-address.ld-bp1ttz8833x9c****.nn1=ld-bp1ttz8833x9c-master1-001.lindorm.rds.aliyuncs.com:8020;
    SET spark.hadoop.dfs.namenode.rpc-address.ld-bp1ttz8833x9c****.nn2=ld-bp1ttz8833x9c****-master2-001.lindorm.rds.aliyuncs.com:8020;
    SET spark.hadoop.dfs.namenode.http-address.ld-bp1ttz8833x9c****.nn1=ld-bp1ttz8833x9c****-master1-001.lindorm.rds.aliyuncs.com:50071;
    SET spark.hadoop.dfs.namenode.http-address.ld-bp1ttz8833x9c****.nn2=ld-bp1ttz8833x9c****-master2-001.lindorm.rds.aliyuncs.com:50071;
    
    -- 創(chuàng)建OSS外部數(shù)據(jù)庫(kù)和表
    CREATE DATABASE external_oss_db location 'oss://testBucketName/warehouse/db';
    CREATE TABLE external_oss_db.test(id int, name string) using parquet location 'oss://testBucketName/warehouse/db/test';
    
    -- 將Hive表中的數(shù)據(jù)插入至OSS外表
    INSERT INTO external_oss_db.test SELECT * FROM lindorm_catalog.spark_test.test;
    
    -- 讀取OSS外表數(shù)據(jù)
    SELECT * FROM external_oss_db.test;

    參數(shù)

    是否必填

    說(shuō)明

    spark.adb.connectors

    啟用AnalyticDB for MySQLSpark內(nèi)置的連接器,連接器名稱以逗號(hào)分隔,目前可選的連接器有oss、hudi、delta、adb、odps、external_hive、jindo。

    本文示例為oss,external_hive連接器。

    spark.adb.eni.enabled

    是否開(kāi)啟ENI訪問(wèn)的開(kāi)關(guān)。

    如果是通過(guò)外表訪問(wèn)其他外部數(shù)據(jù)源,則需要打開(kāi)ENI訪問(wèn)開(kāi)關(guān)。取值說(shuō)明:

    • true:開(kāi)啟

    • false:關(guān)閉

    本文示例需打開(kāi)ENI訪問(wèn)開(kāi)關(guān),參數(shù)取值為true

    spark.adb.eni.vswitchId

    準(zhǔn)備工作中獲取的Lindorm交換機(jī)ID。

    spark.adb.eni.securityGroupId

    準(zhǔn)備工作中獲取的Lindorm安全組ID。

    spark.sql.catalog.lindorm_catalog

    Spark SQL支持的配置數(shù)據(jù)源的方式。

    參數(shù)取值固定為org.apache.spark.sql.hive.V2HiveExternalCatalog

    說(shuō)明

    參數(shù)名稱中的catalog_name可自定義,本文示例為lindorm_catalog

    spark.adb.eni.adbHostAlias.enabled

    是否開(kāi)啟自動(dòng)將AnalyticDB for MySQL服務(wù)所需要的域名解析信息寫(xiě)入到域名映射表中。取值說(shuō)明:

    • true:開(kāi)啟。

    • false:關(guān)閉。

    在通過(guò)ENI連接EMR Hive讀寫(xiě)數(shù)據(jù)時(shí),需要開(kāi)啟。

    HDFS相關(guān)配置

    步驟1中獲取的hdfs-site配置信息。格式如下:set spark.hadoop.<name>=<value>

    說(shuō)明

    <name><value>需替換為配置信息中的實(shí)際值。

    location

    指定外部數(shù)據(jù)庫(kù)和外表數(shù)據(jù)在OSS上的存儲(chǔ)路徑。格式為oss://<bucketname/database/table>。本文示例為oss://testBucketName/warehouse/db/test

    說(shuō)明

    <bucketname/database/table>需替換為實(shí)際的OSS路徑。

  6. 單擊執(zhí)行SQL

  7. Spark作業(yè)執(zhí)行成功后,您可以在Spark Jar開(kāi)發(fā)頁(yè)面應(yīng)用列表頁(yè)簽中的日志查看表數(shù)據(jù)。詳情請(qǐng)參見(jiàn)Spark開(kāi)發(fā)編輯器

訪問(wèn)Lindorm寬表數(shù)據(jù)

  1. 獲取寬表引擎使用HBase Java API訪問(wèn)的專有網(wǎng)絡(luò)地址。具體操作,請(qǐng)參見(jiàn)查看連接地址

  2. 下載連接Lindorm實(shí)例所需的JAR包,并將解壓后的JAR包上傳至OSS中。具體操作,請(qǐng)參見(jiàn)上傳文件

  3. 登錄云原生數(shù)據(jù)倉(cāng)庫(kù)AnalyticDB MySQL控制臺(tái),在左上角選擇集群所在地域。在左側(cè)導(dǎo)航欄,單擊集群列表,在企業(yè)版、基礎(chǔ)版或湖倉(cāng)版頁(yè)簽下,單擊目標(biāo)集群ID。

  4. 在左側(cè)導(dǎo)航欄,單擊作業(yè)開(kāi)發(fā) > SQL開(kāi)發(fā)

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

  6. SQLConsole窗口中輸入以下作業(yè)內(nèi)容:

    SET spark.adb.eni.enabled=true;
    SET spark.adb.eni.vswitchId=vsw-bp14pj8h0k5p0kwu3****;
    SET spark.adb.eni.securityGroupId=sg-bp11m93k021tp4ca****;
    SET spark.sql.catalog.lindorm_table = com.alibaba.lindorm.ldspark.datasources.v2.LindormCatalog;
    SET spark.sql.catalog.lindorm_table.url=ld-bp1ttz8833x9c****-proxy-lindorm.lindorm.rds.aliyuncs.com:30020;
    SET spark.sql.catalog.lindorm_table.username=test;
    SET spark.sql.catalog.lindorm_table.password=password;
    add jar "oss://<bucketname>/hbase_jars/*";
    
    -- 創(chuàng)建OSS外部數(shù)據(jù)庫(kù)和表
    CREATE DATABASE IF NOT exists external_oss_db location 'oss://testBucketName/warehouse/db';
    CREATE TABLE IF NOT exists external_oss_db.lindorm_table_2(id string, name string) using parquet location 'oss://testBucketName/warehouse/db/lindorm_table_2';
    
    -- 將lindorm寬表中的數(shù)據(jù)插入至OSS外表
    INSERT INTO external_oss_db.lindorm_table_2 SELECT * FROM lindorm_table.spark_test.tb;
    
    -- 讀取OSS外表數(shù)據(jù)
    SELECT * FROM external_oss_db.lindorm_table_2;

    參數(shù)說(shuō)明:

    參數(shù)

    是否必填

    說(shuō)明

    spark.adb.eni.enabled

    是否開(kāi)啟ENI訪問(wèn)的開(kāi)關(guān)。

    如果是通過(guò)外表訪問(wèn)其他外部數(shù)據(jù)源,則需要打開(kāi)ENI訪問(wèn)開(kāi)關(guān)。取值說(shuō)明:

    • true:開(kāi)啟

    • false:關(guān)閉

    本文示例需打開(kāi)ENI訪問(wèn)開(kāi)關(guān),參數(shù)取值為true

    spark.adb.eni.vswitchId

    準(zhǔn)備工作中獲取的Lindorm交換機(jī)ID。

    spark.adb.eni.securityGroupId

    準(zhǔn)備工作中獲取的Lindorm安全組ID。

    spark.sql.catalog.lindorm_table

    Spark SQL支持的配置數(shù)據(jù)源的方式。

    參數(shù)取值固定為com.alibaba.lindorm.ldspark.datasources.v2.LindormCatalog

    說(shuō)明

    參數(shù)名稱中的catalog_name可自定義,本文示例為lindorm_table

    spark.sql.catalog.lindorm_table.url

    步驟1中獲取的使用HBase Java API訪問(wèn)的專有網(wǎng)絡(luò)地址。

    spark.sql.catalog.lindorm_table.username

    寬表引擎的用戶名和密碼。

    如果您忘記用戶密碼,可以通過(guò)Lindorm寬表引擎的集群管理系統(tǒng)修改密碼。具體操作,請(qǐng)參見(jiàn)修改用戶密碼

    spark.sql.catalog.lindorm_table.password

    jar

    步驟2中下載的壓縮包所在的OSS路徑。本文示例為oss://testBucketName/hbase_jars/*

    location

    指定外部數(shù)據(jù)庫(kù)和外表數(shù)據(jù)在OSS上的存儲(chǔ)路徑。格式為oss://<bucketname/database/table>。本文示例為oss://testBucketName/warehouse/db/lindorm_table_2

    說(shuō)明

    <bucketname/database/table>需替換為實(shí)際的OSS路徑。

  7. 單擊執(zhí)行SQL

  8. Spark作業(yè)執(zhí)行成功后,您可以在Spark Jar開(kāi)發(fā)頁(yè)面應(yīng)用列表頁(yè)簽中的日志查看表數(shù)據(jù)。詳情請(qǐng)參見(jiàn)Spark開(kāi)發(fā)編輯器