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

訪問OSS數據源

更新時間:

云原生數據倉庫 AnalyticDB MySQL 版Spark支持訪問同賬號或其他阿里云賬號(跨賬號)下對象存儲OSS中的數據,本文介紹同賬號或跨賬號訪問對象存儲OSS數據的具體方法。

前提條件

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

  • AnalyticDB for MySQL集群與OSS存儲空間位于相同地域。

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

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

  • 已完成授權操作。具體操作,請參見快速授權

    重要

    同賬號訪問時,需具備AliyunADBSparkProcessingDataRole權限;跨賬號訪問時,需要對其他阿里云賬號授權。

步驟一:數據準備

  1. 準備用于數據讀取的文本文件,將文本文件上傳至OSS。本文示例的文本文件名為readme.txt。具體操作,請參見上傳文件

    云原生數據倉庫AnalyticDB MySQL版
    數據庫產品
  2. 編寫Python程序,將Python程序上傳至OSS。本文示例的Python程序名為example.py,用于讀取文本文件readme.txt的第一行內容。

    import sys
    
    from pyspark.sql import SparkSession
    
    # 初始Spark
    spark = SparkSession.builder.appName('OSS Example').getOrCreate()
    # 讀取指定的文件,文件路徑由args傳入的參數值來指定
    textFile = spark.sparkContext.textFile(sys.argv[1])
    # 計算文件行數并打印
    print("File total lines: " + str(textFile.count()))
    # 打印文件的第一行內容
    print("First line is: " + textFile.first())
    

步驟二:訪問OSS數據

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

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

  3. 在編輯器窗口上方,選擇Job型資源組和Spark應用類型。本文以Batch類型為例。

  4. 在編輯器中輸入以下Spark代碼。讀取OSS中的文件并打印出來行數和第一行內容。

    同賬號訪問OSS數據

    {
      "args": ["oss://testBucketName/data/readme.txt"],
      "name": "spark-oss-test",
      "file": "oss://testBucketName/data/example.py",
      "conf": {
        "spark.driver.resourceSpec": "small",
        "spark.executor.resourceSpec": "small",
        "spark.executor.instances": 1
      }
    }

    參數說明:

    參數名稱

    參數說明

    args

    傳入Spark應用的參數值,多個參數值之間以英文逗號(,)分隔。

    本文示例將文本文件的OSS路徑賦值給textFile

    name

    Spark應用的名稱。

    file

    Spark應用主文件的存儲路徑。主文件是入口類所在的JAR包或者Python的入口執行文件。

    重要

    Spark應用主文件目前只支持存儲在OSS中。

    spark.adb.roleArn

    跨賬號訪問外部數據源時使用的RAM角色。多個角色之間使用英文逗號(,)隔開。格式為acs:ram::<testAccountID>:role/<testUserName>

    • <testAccountID>:外部數據源所在的阿里云賬號ID。

    • <testUserName>:跨賬號授權時,所創建的RAM角色名稱。詳細信息,請參見賬號授權

    說明

    同賬號訪問OSS數據源時無需配置該參數。

    conf

    與開源Spark中的配置項基本一致,參數格式為key: value形式,多個參數之間以英文逗號(,)分隔。與開源Spark用法不一致的配置參數及AnalyticDB for MySQL特有的配置參數,請參見Spark應用配置參數說明

    跨賬號訪問OSS數據

    {
      "args": ["oss://testBucketName/data/readme.txt"],
      "name": "CrossAccount",
      "file": "oss://testBucketName/data/example.py",
      "conf": {
        "spark.adb.roleArn": "acs:ram::testAccountID:role/<testUserName>",
        "spark.driver.resourceSpec": "small",
        "spark.executor.resourceSpec": "small",
        "spark.executor.instances": 1  
      }
    }

    參數說明:

    參數名稱

    參數說明

    args

    傳入Spark應用的參數值,多個參數值之間以英文逗號(,)分隔。

    本文示例將文本文件的OSS路徑賦值給textFile

    name

    Spark應用的名稱。

    file

    Spark應用主文件的存儲路徑。主文件是入口類所在的JAR包或者Python的入口執行文件。

    重要

    Spark應用主文件目前只支持存儲在OSS中。

    spark.adb.roleArn

    跨賬號訪問外部數據源時使用的RAM角色。多個角色之間使用英文逗號(,)隔開。格式為acs:ram::<testAccountID>:role/<testUserName>

    • <testAccountID>:外部數據源所在的阿里云賬號ID。

    • <testUserName>:跨賬號授權時,所創建的RAM角色名稱。詳細信息,請參見賬號授權

    說明

    同賬號訪問OSS數據源時無需配置該參數。

    conf

    與開源Spark中的配置項基本一致,參數格式為key: value形式,多個參數之間以英文逗號(,)分隔。與開源Spark用法不一致的配置參數及AnalyticDB for MySQL特有的配置參數,請參見Spark應用配置參數說明

  5. 單擊立即執行

    執行完成后,您可以在Spark Jar開發頁面應用列表頁簽中的日志查看數據。詳情請參見Spark開發編輯器

相關文檔