{ "cells": [ { "cell_type": "code", "execution_count": null, "id": "be293ba2", "metadata": {}, "outputs": [], "source": [ "# initialize variables\n", "\n", "endpoint_name = f\"mwaa-sm-endpoint-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"\n", "bucket = 'datalake-XXXXXXXXXXXX-us-east-1'\n", "key=\"customer-churn/customer-churn.csv\"" ] }, { "cell_type": "code", "execution_count": null, "id": "833de1b4", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "# read the csv file from S3\n", "results = pd.read_csv(\"s3://{}/{}\".format(bucket, key), header=None, delimiter=\",\")\n", "df = pd.DataFrame(results, index = None)\n", "df = df.iloc[:,0].str.split(',', expand=True)\n", "\n", "# Need to drop the label column\n", "df = df.drop(df.columns[0], axis=1)\n", "\n", "# Take a random sample\n", "df = df.sample(120)" ] }, { "cell_type": "code", "execution_count": null, "id": "889a9a04", "metadata": {}, "outputs": [], "source": [ "import boto3\n", "import json\n", "import time\n", "\n", "sm_client = boto3.client('sagemaker-runtime')\n", "\n", "df_to_list = df.to_string(header=False,\n", " index=False,\n", " index_names=False).split('\\n')\n", "\n", "df_to_csv = [','.join(v.split()) for v in df_to_list]\n", "\n", "for row in df_to_csv:\n", " payload = row\n", " response = sm_client.invoke_endpoint(\n", " EndpointName=endpoint_name,\n", " ContentType = \"text/csv\",\n", " Body= payload)\n", " \n", " output_body = json.loads(response[\"Body\"].read().decode())\n", " print(output_body)\n", " time.sleep(0.5)" ] } ], "metadata": { "kernelspec": { "display_name": "conda_python3", "language": "python", "name": "conda_python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.13" } }, "nbformat": 4, "nbformat_minor": 5 }