Menggunakan gambar kustom dengan EMR Serverless - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan gambar kustom dengan EMR Serverless

Gunakan versi Python khusus

Anda dapat membuat gambar khusus untuk menggunakan versi Python yang berbeda. Untuk menggunakan Python versi 3.10 untuk pekerjaan Spark, misalnya, jalankan perintah berikut:

FROM public.ecr.aws/emr-serverless/spark/emr-6.9.0:latest USER root # install python 3 RUN yum install -y gcc openssl-devel bzip2-devel libffi-devel tar gzip wget make RUN wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz && \ tar xzf Python-3.10.0.tgz && cd Python-3.10.0 && \ ./configure --enable-optimizations && \ make altinstall # EMRS will run the image as hadoop USER hadoop:hadoop

Sebelum Anda mengirimkan pekerjaan Spark, atur properti Anda untuk menggunakan lingkungan virtual Python, sebagai berikut.

--conf spark.emr-serverless.driverEnv.PYSPARK_DRIVER_PYTHON=/usr/local/bin/python3.10 --conf spark.emr-serverless.driverEnv.PYSPARK_PYTHON=/usr/local/bin/python3.10 --conf spark.executorEnv.PYSPARK_PYTHON=/usr/local/bin/python3.10

Gunakan versi Java kustom

Contoh berikut menunjukkan cara membuat gambar kustom untuk menggunakan Java 11 untuk pekerjaan Spark Anda.

FROM public.ecr.aws/emr-serverless/spark/emr-6.9.0:latest USER root # install JDK 11 RUN sudo amazon-linux-extras install java-openjdk11 # EMRS will run the image as hadoop USER hadoop:hadoop

Sebelum Anda mengirimkan pekerjaan Spark, atur properti Spark untuk menggunakan Java 11, sebagai berikut.

--conf spark.executorEnv.JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.16.0.8-1.amzn2.0.1.x86_64 --conf spark.emr-serverless.driverEnv.JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.16.0.8-

Membangun citra ilmu data

Contoh berikut menunjukkan cara memasukkan paket Python ilmu data umum, seperti Pandas dan. NumPy

FROM public.ecr.aws/emr-serverless/spark/emr-6.9.0:latest USER root # python packages RUN pip3 install boto3 pandas numpy RUN pip3 install -U scikit-learn==0.23.2 scipy RUN pip3 install sk-dist RUN pip3 install xgboost # EMR Serverless will run the image as hadoop USER hadoop:hadoop

Memproses data geospasial dengan Apache Sedona

Contoh berikut menunjukkan bagaimana membangun gambar untuk menyertakan Apache Sedona untuk pemrosesan geospasial.

FROM public.ecr.aws/emr-serverless/spark/emr-6.9.0:latest USER root RUN yum install -y wget RUN wget https://repo1.maven.org/maven2/org/apache/sedona/sedona-core-3.0_2.12/1.3.0-incubating/sedona-core-3.0_2.12-1.3.0-incubating.jar -P /usr/lib/spark/jars/ RUN pip3 install apache-sedona # EMRS will run the image as hadoop USER hadoop:hadoop