Amazon SageMaker Pipelines میں PySpark کا استعمال کرتے ہوئے محفوظ پروسیسنگ جابز چلائیں۔

Amazon SageMaker Pipelines میں PySpark کا استعمال کرتے ہوئے محفوظ پروسیسنگ جابز چلائیں۔

ایمیزون سیج میکر اسٹوڈیو آپ کے ماڈلز کو بنانے، تربیت دینے، ڈیبگ کرنے، تعینات کرنے اور ان کی نگرانی کرنے اور آپ کے مشین لرننگ (ML) ورک فلو کو منظم کرنے میں آپ کی مدد کر سکتا ہے۔ ایمیزون سیج میکر پائپ لائنز آپ کو ایک بنانے کے قابل بناتا ہے۔ محفوظ، توسیع پذیر، اور لچکدار MLOps پلیٹ فارم سٹوڈیو کے اندر

اس پوسٹ میں، ہم وضاحت کرتے ہیں کہ پائپ لائن کے اندر PySpark پروسیسنگ جابز کو کیسے چلایا جائے۔ یہ کسی کو بھی قابل بناتا ہے جو پائپ لائنز کا استعمال کرتے ہوئے ماڈل کو تربیت دینا چاہتا ہے تاکہ ٹریننگ ڈیٹا، پوسٹ پروسیس انفرنس ڈیٹا، یا PySpark کا استعمال کرتے ہوئے ماڈلز کا جائزہ لے سکے۔ یہ صلاحیت خاص طور پر متعلقہ ہوتی ہے جب آپ کو بڑے پیمانے پر ڈیٹا پر کارروائی کرنے کی ضرورت ہوتی ہے۔ اس کے علاوہ، ہم یہ ظاہر کرتے ہیں کہ کنفیگریشنز اور اسپارک UI لاگز کا استعمال کرتے ہوئے اپنے PySpark کے اقدامات کو کس طرح بہتر بنایا جائے۔

پائپ لائنز ایک ہے۔ ایمیزون سیج میکر اینڈ ٹو اینڈ ایم ایل پائپ لائنوں کی تعمیر اور انتظام کے لیے ٹول۔ یہ مکمل طور پر منظم آن ڈیمانڈ سروس ہے، جو SageMaker اور دیگر AWS سروسز کے ساتھ مربوط ہے، اور اس وجہ سے آپ کے لیے وسائل تخلیق اور ان کا نظم کرتی ہے۔ یہ اس بات کو یقینی بناتا ہے کہ پائپ لائنوں کو چلاتے وقت مثالیں صرف فراہم کی جاتی ہیں اور استعمال ہوتی ہیں۔ مزید برآں، پائپ لائنز کی طرف سے حمایت کی جاتی ہے SageMaker Python SDK، آپ کو ٹریک کرنے دیتا ہے۔ ڈیٹا نسب اور دوبارہ استعمال کے اقدامات ترقی کے وقت اور لاگت کو کم کرنے کے لیے انہیں کیش کر کے۔ سیج میکر پائپ لائن استعمال کر سکتی ہے۔ پروسیسنگ کے اقدامات ڈیٹا پر کارروائی کرنے یا ماڈل کی تشخیص کرنے کے لیے۔

بڑے پیمانے پر ڈیٹا پر کارروائی کرتے وقت، ڈیٹا سائنسدان اور ایم ایل انجینئر اکثر استعمال کرتے ہیں۔ پی اسپارککے لیے ایک انٹرفیس اپاچی چمک ازگر میں SageMaker پہلے سے تعمیر شدہ Docker امیجز فراہم کرتا ہے جس میں PySpark اور تقسیم شدہ ڈیٹا پروسیسنگ جابز کو چلانے کے لیے درکار دیگر انحصار شامل ہیں، بشمول Spark فریم ورک کا استعمال کرتے ہوئے ڈیٹا کی تبدیلی اور فیچر انجینئرنگ۔ اگرچہ وہ تصاویر آپ کو پروسیسنگ جابز میں PySpark کا استعمال تیزی سے شروع کرنے کی اجازت دیتی ہیں، لیکن بڑے پیمانے پر ڈیٹا پروسیسنگ میں SageMaker کے ذریعے تخلیق کردہ کلسٹر کی تقسیم شدہ کمپیوٹنگ کو بہتر بنانے کے لیے اکثر مخصوص Spark کنفیگریشنز کی ضرورت ہوتی ہے۔

ہماری مثال میں، ہم ایک SageMaker پائپ لائن بناتے ہیں جو ایک واحد پروسیسنگ مرحلہ چلاتا ہے۔ اس بارے میں مزید معلومات کے لیے کہ آپ پائپ لائن میں کون سے دوسرے اقدامات شامل کر سکتے ہیں، ملاحظہ کریں۔ پائپ لائن کے مراحل.

سیج میکر پروسیسنگ لائبریری

سیج میکر پروسیسنگ مخصوص کے ساتھ چل سکتی ہے۔ فریم ورک (مثال کے طور پر، SKlearnProcessor، PySparkProcessor، یا Hugging Face)۔ استعمال شدہ فریم ورک سے آزاد، ہر ایک پروسیسنگ مرحلہ مندرجہ ذیل کی ضرورت ہے:

  • قدم کا نام - آپ کے SageMaker پائپ لائن کے مرحلے کے لیے استعمال کیا جانے والا نام
  • مرحلہ وار دلائل - آپ کے لیے دلائل ProcessingStep

اس کے علاوہ، آپ درج ذیل فراہم کر سکتے ہیں:

  • سیج میکر پائپ لائن میں آپ کے قدم کے غیر ضروری رن سے بچنے کے لیے آپ کے سٹیپ کیش کی ترتیب
  • قدموں کے ناموں، مرحلہ وار مثالوں، یا قدم جمع کرنے کی مثالوں کی فہرست جو کہ ProcessingStep پر منحصر ہے
  • کا ڈسپلے نام ProcessingStep
  • کی ایک تفصیل ProcessingStep
  • پراپرٹی کی فائلیں۔
  • پالیسیوں کی دوبارہ کوشش کریں۔

دلائل کے حوالے کر دیے گئے ہیں۔ ProcessingStep. آپ استعمال کرسکتے ہیں sagemaker.spark.PySparkProcessor or sagemaker.spark.SparkJarProcessor ایک پروسیسنگ جاب کے اندر اپنی اسپارک ایپلیکیشن کو چلانے کے لیے کلاس۔

فریم ورک کے لحاظ سے ہر پروسیسر اپنی ضروریات کے ساتھ آتا ہے۔ کا استعمال کرتے ہوئے اس کی بہترین مثال دی گئی ہے۔ PySparkProcessor، جہاں آپ کو بہتر بنانے کے لیے اضافی معلومات پاس کر سکتے ہیں۔ ProcessingStep مزید، مثال کے طور پر کے ذریعے configuration اپنا کام چلاتے وقت پیرامیٹر۔

سیج میکر پروسیسنگ جابز کو محفوظ ماحول میں چلائیں۔

یہ ہے بہترین پریکٹس ایک نجی Amazon VPC بنانے اور اسے ترتیب دینے کے لیے تاکہ آپ کی ملازمتیں عوامی انٹرنیٹ پر قابل رسائی نہ ہوں۔ سیج میکر پروسیسنگ جابز آپ کو اپنے VPC میں پرائیویٹ سب نیٹس اور سیکیورٹی گروپس کی وضاحت کرنے کے ساتھ ساتھ نیٹ ورک آئسولیشن اور انٹر کنٹینر ٹریفک انکرپشن کو فعال کرنے کی اجازت دیتی ہیں۔ NetworkConfig.VpcConfig کے پیرامیٹر کی درخواست کریں۔ CreateProcessingJob API ہم استعمال کرتے ہوئے اس ترتیب کی مثالیں فراہم کرتے ہیں۔ سیج میکر SDK اگلے حصے میں.

PySpark ProcessingStep SageMaker پائپ لائنز کے اندر

اس مثال کے لیے، ہم فرض کرتے ہیں کہ آپ کے پاس پہلے سے موجود محفوظ ماحول میں اسٹوڈیو تعینات ہے، بشمول VPC، VPC اینڈ پوائنٹ، سیکیورٹی گروپس، AWS شناخت اور رسائی کا انتظام (IAM) کے کردار، اور AWS کلیدی انتظام کی خدمت (AWS KMS) کیز۔ ہم یہ بھی فرض کرتے ہیں کہ آپ کے پاس دو بالٹیاں ہیں: ایک نمونے جیسے کوڈ اور لاگز کے لیے، اور ایک آپ کے ڈیٹا کے لیے۔ دی basic_infra.yaml فائل مثال فراہم کرتا ہے۔ AWS کلاؤڈ فارمیشن ضروری بنیادی ڈھانچے کی فراہمی کے لیے کوڈ۔ مثال کوڈ اور تعیناتی گائیڈ پر بھی دستیاب ہے۔ GitHub کے.

مثال کے طور پر، ہم نے ایک پائپ لائن قائم کی جس میں ایک سنگل ہے۔ ProcessingStep جس میں ہم صرف پڑھ اور لکھ رہے ہیں۔ ابالون ڈیٹاسیٹ چنگاری کا استعمال کرتے ہوئے. کوڈ کے نمونے آپ کو دکھاتے ہیں کہ کس طرح سیٹ اپ اور کنفیگر کیا جائے۔ ProcessingStep.

ہم پائپ لائن (نام، کردار، بالٹیاں، اور اسی طرح) اور مرحلہ وار ترتیبات (مثال کی قسم اور شمار، فریم ورک ورژن، وغیرہ) کے لیے پیرامیٹرز کی وضاحت کرتے ہیں۔ اس مثال میں، ہم ایک محفوظ سیٹ اپ استعمال کرتے ہیں اور ذیلی نیٹس، سیکیورٹی گروپس، اور انٹر کنٹینر ٹریفک انکرپشن کی بھی تعریف کرتے ہیں۔ اس مثال کے لیے، آپ کو سیج میکر کی مکمل رسائی اور ایک VPC کے ساتھ پائپ لائن پر عمل درآمد کے کردار کی ضرورت ہے۔ درج ذیل کوڈ دیکھیں:

{ "pipeline_name": "ProcessingPipeline", "trial": "test-blog-post", "pipeline_role": "arn:aws:iam::<ACCOUNT_NUMBER>:role/<PIPELINE_EXECUTION_ROLE_NAME>", "network_subnet_ids": [ "subnet-<SUBNET_ID>", "subnet-<SUBNET_ID>" ], "network_security_group_ids": [ "sg-<SG_ID>" ], "pyspark_process_volume_kms": "arn:aws:kms:<REGION_NAME>:<ACCOUNT_NUMBER>:key/<KMS_KEY_ID>", "pyspark_process_output_kms": "arn:aws:kms:<REGION_NAME>:<ACCOUNT_NUMBER>:key/<KMS_KEY_ID>", "pyspark_helper_code": "s3://<INFRA_S3_BUCKET>/src/helper/data_utils.py", "spark_config_file": "s3://<INFRA_S3_BUCKET>/src/spark_configuration/configuration.json", "pyspark_process_code": "s3://<INFRA_S3_BUCKET>/src/processing/process_pyspark.py", "process_spark_ui_log_output": "s3://<DATA_S3_BUCKET>/spark_ui_logs/{}", "pyspark_framework_version": "2.4", "pyspark_process_name": "pyspark-processing", "pyspark_process_data_input": "s3a://<DATA_S3_BUCKET>/data_input/abalone_data.csv", "pyspark_process_data_output": "s3a://<DATA_S3_BUCKET>/pyspark/data_output", "pyspark_process_instance_type": "ml.m5.4xlarge", "pyspark_process_instance_count": 6, "tags": { "Project": "tag-for-project", "Owner": "tag-for-owner" }
}

ظاہر کرنے کے لیے، درج ذیل کوڈ کی مثال سیج میکر پروسیسنگ پر ایک پائپ لائن کے اندر استعمال کرکے PySpark اسکرپٹ چلاتی ہے۔ PySparkProcessor:

# import code requirements
# standard libraries import
import logging
import json # sagemaker model import
import sagemaker
from sagemaker.workflow.pipeline import Pipeline
from sagemaker.workflow.pipeline_experiment_config import PipelineExperimentConfig
from sagemaker.workflow.steps import CacheConfig
from sagemaker.processing import ProcessingInput
from sagemaker.workflow.steps import ProcessingStep
from sagemaker.workflow.pipeline_context import PipelineSession
from sagemaker.spark.processing import PySparkProcessor from helpers.infra.networking.networking import get_network_configuration
from helpers.infra.tags.tags import get_tags_input
from helpers.pipeline_utils import get_pipeline_config def create_pipeline(pipeline_params, logger): """ Args: pipeline_params (ml_pipeline.params.pipeline_params.py.Params): pipeline parameters logger (logger): logger Returns: () """ # Create SageMaker Session sagemaker_session = PipelineSession() # Get Tags tags_input = get_tags_input(pipeline_params["tags"]) # get network configuration network_config = get_network_configuration( subnets=pipeline_params["network_subnet_ids"], security_group_ids=pipeline_params["network_security_group_ids"] ) # Get Pipeline Configurations pipeline_config = get_pipeline_config(pipeline_params) # setting processing cache obj logger.info("Setting " + pipeline_params["pyspark_process_name"] + " cache configuration 3 to 30 days") cache_config = CacheConfig(enable_caching=True, expire_after="p30d") # Create PySpark Processing Step logger.info("Creating " + pipeline_params["pyspark_process_name"] + " processor") # setting up spark processor processing_pyspark_processor = PySparkProcessor( base_job_name=pipeline_params["pyspark_process_name"], framework_version=pipeline_params["pyspark_framework_version"], role=pipeline_params["pipeline_role"], instance_count=pipeline_params["pyspark_process_instance_count"], instance_type=pipeline_params["pyspark_process_instance_type"], volume_kms_key=pipeline_params["pyspark_process_volume_kms"], output_kms_key=pipeline_params["pyspark_process_output_kms"], network_config=network_config, tags=tags_input, sagemaker_session=sagemaker_session ) # setting up arguments run_ags = processing_pyspark_processor.run( submit_app=pipeline_params["pyspark_process_code"], submit_py_files=[pipeline_params["pyspark_helper_code"]], arguments=[ # processing input arguments. To add new arguments to this list you need to provide two entrances: # 1st is the argument name preceded by "--" and the 2nd is the argument value # setting up processing arguments "--input_table", pipeline_params["pyspark_process_data_input"], "--output_table", pipeline_params["pyspark_process_data_output"] ], spark_event_logs_s3_uri=pipeline_params["process_spark_ui_log_output"].format(pipeline_params["trial"]), inputs = [ ProcessingInput( source=pipeline_params["spark_config_file"], destination="/opt/ml/processing/input/conf", s3_data_type="S3Prefix", s3_input_mode="File", s3_data_distribution_type="FullyReplicated", s3_compression_type="None" ) ], ) # create step pyspark_processing_step = ProcessingStep( name=pipeline_params["pyspark_process_name"], step_args=run_ags, cache_config=cache_config, ) # Create Pipeline pipeline = Pipeline( name=pipeline_params["pipeline_name"], steps=[ pyspark_processing_step ], pipeline_experiment_config=PipelineExperimentConfig( pipeline_params["pipeline_name"], pipeline_config["trial"] ), sagemaker_session=sagemaker_session ) pipeline.upsert( role_arn=pipeline_params["pipeline_role"], description="Example pipeline", tags=tags_input ) return pipeline def main(): # set up logging logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) logger.info("Get Pipeline Parameter") with open("ml_pipeline/params/pipeline_params.json", "r") as f: pipeline_params = json.load(f) print(pipeline_params) logger.info("Create Pipeline") pipeline = create_pipeline(pipeline_params, logger=logger) logger.info("Execute Pipeline") execution = pipeline.start() return execution if __name__ == "__main__": main()

جیسا کہ پچھلے کوڈ میں دکھایا گیا ہے، ہم فراہم کر کے پہلے سے طے شدہ اسپارک کنفیگریشن کو اوور رائٹ کر رہے ہیں configuration.json ایک ProcessingInput. ہم استعمال کرتے ہیں a configuration.json فائل جس میں محفوظ کیا گیا تھا۔ ایمیزون سادہ اسٹوریج سروس (ایمیزون S3) درج ذیل ترتیبات کے ساتھ:

[ { "Classification":"spark-defaults", "Properties":{ "spark.executor.memory":"10g", "spark.executor.memoryOverhead":"5g", "spark.driver.memory":"10g", "spark.driver.memoryOverhead":"10g", "spark.driver.maxResultSize":"10g", "spark.executor.cores":5, "spark.executor.instances":5, "spark.yarn.maxAppAttempts":1 "spark.hadoop.fs.s3a.endpoint":"s3.<region>.amazonaws.com", "spark.sql.parquet.fs.optimized.comitter.optimization-enabled":true } }
]

ہم پہلے سے طے شدہ اسپارک کنفیگریشن کو اپ ڈیٹ کر سکتے ہیں یا تو فائل کو بطور پاس کر کے ProcessingInput یا چلاتے وقت کنفیگریشن آرگیومینٹ استعمال کرکے run() تقریب.

اسپارک کنفیگریشن دوسرے اختیارات پر منحصر ہے، جیسے کہ مثال کی قسم اور مثال کی گنتی پروسیسنگ جاب کے لیے منتخب کی گئی ہے۔ پہلا غور مثالوں کی تعداد، vCPU کور جو ان میں سے ہر ایک کے پاس ہوتا ہے، اور مثال کی میموری۔ آپ استعمال کر سکتے ہیں اسپارک UIs or CloudWatch مثال کے میٹرکس اور لاگ ان اقدار کو ایک سے زیادہ رن تکرار پر کیلیبریٹ کرنے کے لیے۔

اس کے علاوہ، ایگزیکیوٹر اور ڈرائیور کی سیٹنگز کو مزید بہتر بنایا جا سکتا ہے۔ ان کا حساب کتاب کرنے کے طریقے کی مثال کے لیے ملاحظہ کریں۔ ایمیزون EMR پر اپاچی اسپارک ایپلی کیشنز کے لیے میموری کو کامیابی کے ساتھ منظم کرنے کے بہترین طریقے.

اس کے بعد، ڈرائیور اور ایگزیکیوٹر کی ترتیبات کے لیے، ہم Amazon S3 پر لکھتے وقت کارکردگی کو بہتر بنانے کے لیے کمٹٹر کی ترتیبات کی چھان بین کرنے کی تجویز کرتے ہیں۔ ہمارے معاملے میں، ہم Parquet فائلوں کو Amazon S3 پر لکھ رہے ہیں اور "spark.sql.parquet.fs.optimized.comitter.optimization-enabled"سچ میں.

اگر ایمیزون S3 سے کنکشن کی ضرورت ہو تو، ایک علاقائی اختتامی نقطہ "spark.hadoop.fs.s3a.endpointکنفیگریشن فائل میں بیان کیا جا سکتا ہے۔

اس مثال میں پائپ لائن، پی اسپارک اسکرپٹ spark_process.py (جیسا کہ مندرجہ ذیل کوڈ میں دکھایا گیا ہے) Amazon S3 سے ایک CSV فائل کو Spark ڈیٹا فریم میں لوڈ کرتا ہے، اور ڈیٹا کو Parquet کے طور پر واپس Amazon S3 میں محفوظ کرتا ہے۔

نوٹ کریں کہ ہماری مثال کی ترتیب کام کے بوجھ کے متناسب نہیں ہے کیونکہ ابالون ڈیٹاسیٹ کو پڑھنا اور لکھنا ایک موقع پر پہلے سے طے شدہ ترتیبات پر کیا جا سکتا ہے۔ ہم نے جن کنفیگریشنز کا ذکر کیا ہے ان کی وضاحت آپ کی مخصوص ضروریات کی بنیاد پر ہونی چاہیے۔

# import requirements
import argparse
import logging
import sys
import os
import pandas as pd # spark imports
from pyspark.sql import SparkSession
from pyspark.sql.functions import (udf, col)
from pyspark.sql.types import StringType, StructField, StructType, FloatType from data_utils import( spark_read_parquet, Unbuffered
) sys.stdout = Unbuffered(sys.stdout) # Define custom handler
logger = logging.getLogger(__name__)
handler = logging.StreamHandler(sys.stdout)
handler.setFormatter(logging.Formatter("%(asctime)s %(message)s"))
logger.addHandler(handler)
logger.setLevel(logging.INFO) def main(data_path): spark = SparkSession.builder.appName("PySparkJob").getOrCreate() spark.sparkContext.setLogLevel("ERROR") schema = StructType( [ StructField("sex", StringType(), True), StructField("length", FloatType(), True), StructField("diameter", FloatType(), True), StructField("height", FloatType(), True), StructField("whole_weight", FloatType(), True), StructField("shucked_weight", FloatType(), True), StructField("viscera_weight", FloatType(), True), StructField("rings", FloatType(), True), ] ) df = spark.read.csv(data_path, header=False, schema=schema) return df.select("sex", "length", "diameter", "rings") if __name__ == "__main__": logger.info(f"===============================================================") logger.info(f"================= Starting pyspark-processing =================") parser = argparse.ArgumentParser(description="app inputs") parser.add_argument("--input_table", type=str, help="path to the channel data") parser.add_argument("--output_table", type=str, help="path to the output data") args = parser.parse_args() df = main(args.input_table) logger.info("Writing transformed data") df.write.csv(os.path.join(args.output_table, "transformed.csv"), header=True, mode="overwrite") # save data df.coalesce(10).write.mode("overwrite").parquet(args.output_table) logger.info(f"================== Ending pyspark-processing ==================") logger.info(f"===============================================================")

اسپارک پروسیسنگ جابز کو بہتر بنانے کے لیے، آپ CloudWatch لاگز کے ساتھ ساتھ Spark UI استعمال کر سکتے ہیں۔ آپ SageMaker نوٹ بک مثال پر پروسیسنگ جاب چلا کر اسپارک UI بنا سکتے ہیں۔ آپ دیکھ سکتے ہیں۔ پائپ لائن کے اندر چلنے والی پروسیسنگ جابز کے لیے اسپارک UI by ہسٹری سرور چلا رہا ہے۔ SageMaker نوٹ بک مثال کے اندر اگر اسپارک UI لاگز کو اسی Amazon S3 مقام میں محفوظ کیا گیا تھا۔

صاف کرو

اگر آپ نے اس ٹیوٹوریل کی پیروی کی ہے، تو یہ اچھا عمل ہے کہ ایسے وسائل کو حذف کر دیا جائے جو چارجز کو روکنے کے لیے استعمال نہیں کیے جاتے ہیں۔ یقینی بنائیں CloudFormation اسٹیک کو حذف کریں۔ جسے آپ اپنے وسائل بنانے کے لیے استعمال کرتے تھے۔ یہ تخلیق کردہ اسٹیک کے ساتھ ساتھ اس کے تخلیق کردہ وسائل کو بھی حذف کر دے گا۔

نتیجہ

اس پوسٹ میں، ہم نے دکھایا کہ سیج میکر پائپ لائنز کے اندر PySpark کا استعمال کرتے ہوئے ایک محفوظ SageMaker پروسیسنگ جاب کو کیسے چلایا جائے۔ ہم نے یہ بھی دکھایا کہ کس طرح Spark کنفیگریشنز کا استعمال کرتے ہوئے PySpark کو بہتر بنایا جائے اور ایک محفوظ نیٹ ورکنگ کنفیگریشن میں چلانے کے لیے اپنی پروسیسنگ جاب سیٹ اپ کریں۔

اگلے مرحلے کے طور پر، پورے ماڈل لائف سائیکل کو خودکار کرنے کا طریقہ اور کیسے دریافت کریں۔ صارفین نے محفوظ اور قابل توسیع MLOps پلیٹ فارم بنائے SageMaker خدمات کا استعمال کرتے ہوئے.


مصنفین کے بارے میں

Run secure processing jobs using PySpark in Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Vertical Search. Ai.مارین سلیمان میں ڈیٹا سائنٹسٹ ہے۔ AWS پروفیشنل سروسز. وہ تمام صنعتوں کے صارفین کے ساتھ کام کرتی ہے جو ان کے کاروباری نتائج حاصل کرنے کے لیے AI/ML کی طاقت کو ظاہر کرتی ہے۔ Maren نومبر 2019 سے AWS کے ساتھ ہے۔ اپنے فارغ وقت میں، وہ کِک باکسنگ، شاندار نظاروں تک ہائیکنگ، اور بورڈ گیم کی راتوں سے لطف اندوز ہوتی ہیں۔


Run secure processing jobs using PySpark in Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Vertical Search. Ai.مائرہ لاڈیرہ ٹنکے
AWS میں ML ماہر ہے۔ ڈیٹا سائنس میں پس منظر کے ساتھ، اس کے پاس تمام صنعتوں کے صارفین کے ساتھ آرکیٹیکٹنگ اور ایم ایل ایپلیکیشنز بنانے کا 9 سال کا تجربہ ہے۔ تکنیکی قیادت کے طور پر، وہ صارفین کو ابھرتی ہوئی ٹیکنالوجیز اور اختراعی حلوں کے ذریعے کاروباری قدر کے حصول کو تیز کرنے میں مدد کرتی ہے۔ اپنے فارغ وقت میں، مائرہ اپنے خاندان کے ساتھ کسی گرم جگہ سفر کرنے اور وقت گزارنے کا لطف اٹھاتی ہے۔


Run secure processing jobs using PySpark in Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Vertical Search. Ai.پولین ٹنگ
میں ڈیٹا سائنسدان ہے AWS پروفیشنل سروسز ٹیم وہ AI/ML حل تیار کرکے اپنے کاروباری نتائج کو حاصل کرنے اور تیز کرنے میں صارفین کی مدد کرتی ہے۔ اپنے فارغ وقت میں، پاؤلین سفر کرنے، سرفنگ کرنے اور میٹھے کے نئے مقامات کو آزمانے سے لطف اندوز ہوتی ہے۔


Run secure processing jobs using PySpark in Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Vertical Search. Ai.ڈونلڈ فوسو
میں ایک سینئر ڈیٹا آرکیٹیکٹ ہے۔ AWS پروفیشنل سروسز ٹیم، زیادہ تر گلوبل فنانس سروس کے ساتھ کام کرتی ہے۔ وہ جدید حل تیار کرنے کے لیے صارفین کے ساتھ مشغول رہتا ہے جو کسٹمر کے کاروباری مسائل کو حل کرتے ہیں اور AWS خدمات کو اپنانے میں تیزی لاتے ہیں۔ اپنے فارغ وقت میں ڈونلڈ کو پڑھنا، دوڑنا اور سفر کرنا پسند ہے۔

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ