

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Apache Spark 的 Amazon Redshift 整合，啟動 Spark 應用程式
<a name="emr-spark-redshift-launch"></a>

針對 Amazon EMR 6.4 至 6.9 版，您必須使用 `--jars` 或 `--packages` 選項來指定要使用下列的哪些 JAR 檔案。`--jars` 選項指定儲存於本機、HDFS 或使用 HTTP/S 的相依性。若要了解 `--jars` 選項支援的其他檔案位置，請參閱 Spark 文件中的[進階相依性管理](https://spark.apache.org/docs/latest/submitting-applications.html#advanced-dependency-management)。`--packages` 選項指定儲存於公有 Maven 儲存庫的相依性。
+ `spark-redshift.jar`
+ `spark-avro.jar`
+ `RedshiftJDBC.jar`
+ `minimal-json.jar`

Amazon EMR 6.10.0 版及更高版本不需要 `minimal-json.jar` 相依性，並且依預設會向每個叢集自動安裝其他相依性。下列範例說明如何為 Apache Spark 啟動與 Amazon Redshift 整合的 Spark 應用程式。

------
#### [ Amazon EMR 6.10.0 \$1 ]

以下範例說明如何在 Amazon EMR 6.10 版及更高版本中，使用 `spark-redshift` 連接器啟動 Spark 應用程式。

```
spark-submit my_script.py
```

------
#### [ Amazon EMR 6.4.0 - 6.9.x ]

若要在 Amazon EMR 6.4 版到 6.9 版上使用 `spark-redshift` 連接器啟動 Spark 應用程式，您必須使用 `--jars` 或 `--packages` 選項，如以下範例所示。請注意，與 `--jars` 選項一起列出的路徑是 JAR 檔案的預設路徑。

```
spark-submit \
  --jars /usr/share/aws/redshift/jdbc/RedshiftJDBC.jar,/usr/share/aws/redshift/spark-redshift/lib/spark-redshift.jar,/usr/share/aws/redshift/spark-redshift/lib/spark-avro.jar,/usr/share/aws/redshift/spark-redshift/lib/minimal-json.jar \
  my_script.py
```

------