apache / apache/beam

Cannot run Python PortableRunner -> SparkRunner on EMR cluster

Open
#20,568 1 comment 0 reactions 0 assignees View on GitHub
bug P3 runners spark
Dominant language
Java
Stars
8.7k
Forks
4.7k
Avg merge
1d 20h
Merged PRs (30d)
196

Description

I have been trying to run the python word-count example on an [AWS EMR](https://aws.amazon.com/emr/) cluster. And it does not work.

Things I have tried:
* Running with 
```

python3 py_codes/word_count_beam.py --output word_count_output --runner=SparkRunner

```

This results in implicitly running with `--spark-master-url local[4]` which defeats the purpose of running it in a cluster

* Tried
```

python3 py_codes/word_count_beam.py --output word_count_output --runner=SparkRunner --spark-master-url=yarn

```

Still uses local master.

* Could not use method described in [https://beam.apache.org/documentation/runners/spark/](https://beam.apache.org/documentation/runners/spark/) under "Running on a pre-deployed Spark cluster" because in yarn master is not exposed with an URL like localhost:7077

* Tried
```

python3 py_codes/word_ount_beam.py --output word_count_output --runner=SparkRunner --output_executable_path=jars/beam_word_count.jar

```

as described in https://issues.apache.org/jira/browse/BEAM-8970
It can create a jar file, but when I submit the jar with spark-submit I get docker permission denied exception. Possibly related to https://issues.apache.org/jira/browse/BEAM-6020

*So, no way to run a python beam code in a yarn spark cluster?*
This also means no way to run TFX code (which uses beam) in a yarn cluster.

Imported from Jira [BEAM-11378](https://issues.apache.org/jira/browse/BEAM-11378). Original Jira may contain additional context.
Reported by: ratulray.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.