亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法使用 java 中的 spark-redshift 庫連接到 S3

無法使用 java 中的 spark-redshift 庫連接到 S3

慕哥6287543 2022-05-21 19:50:45
我正在嘗試基于 spark 數據集在 Redshift 中創建一個表。我在 jdbc 中使用 spark-redshift 驅動程序在本地實現這一點。執行此操作的代碼片段data.write().format("com.databricks.spark.redshift").option("url", "jdbc:redshift://..").option("dbtable", "test_table").option("tempdir", "s3://temp").option("aws_iam_role", "arn:aws:iam::..").option("extracopyoptions", "region 'us-west-1'").mode(SaveMode.Append).save();我的 maven pom.xml 具有以下依賴項:<dependency>   <groupId>com.databricks</groupId>   <artifactId>spark-redshift_2.11</artifactId>   <version>2.0.1</version></dependency>
查看完整描述

2 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

由于您試圖在本地系統上執行此代碼,因此您的代碼將不知道如何訪問 s3 文件系統。

您可以執行以下兩項操作之一來解決此問題:

  1. 在您的系統中配置 AWS 憑證,以便您的代碼以某種方式嘗試訪問 s3 存儲桶。由于各種原因,我不會推薦這種方法。

  2. 將文件路徑保存在配置文件中。使用 2 個配置文件 - 一個用于測試代碼,另一個用于生產環境。在測試環境中,使用 c:\path\to\your\dummy\folder\ 等路徑,在生產環境配置文件中使用 s3:\your_bucket_name\path\in\bucket 等路徑。

希望能幫助到你。


查看完整回答
反對 回復 2022-05-21
?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

我想您忘記將hadoop-aws包包含到您的項目中。這個包將允許您使用s3://模式


<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-aws -->

<dependency>

    <groupId>org.apache.hadoop</groupId>

    <artifactId>hadoop-aws</artifactId>

    <version>2.6.0</version>

</dependency>


查看完整回答
反對 回復 2022-05-21
  • 2 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號