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
Topik
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