---
title: Data Ingestion
slug: hol-apollo-healthcare/data-ingestion
docTags: 
createdAt: 2025-08-10T12:29:52.859Z
---

## Connect to Amazon S3

- For this exercise, we'll be using **HOL S3 Bucket** Amazon S3 connection. The connection to this bucket has already been configured for you.

## Ingest data from Amazon S3

For this exercise, we have uploaded **sample\_crm.csv** file to Amazon S3 bucket. Follow the steps below to select the file for ingestion.

1. In the left rail, click on **Connections** and choose **Sources.** You’ll then see the Sources Catalog.
2. Under **Categories**, select **Cloud storage**, click the **Add Data** on the **Amazon S3** card.
3. Click **Existing account** and select the **AWS S3.** Click **Next**.



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_1f18522dc9d440a94c4d10cb444956466fea316c3.png?width=750\&format=png\&optimize=medium)

4\. Select <u>**summit\_hol\_crm\_data.csv**</u> and select **Delimited** from **Data format.** Sample records from the csv will be displayed. Click **Next.**



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_11827e5e0ddc4e46650567b9f754cefe48a9f0918.png?width=750\&format=png\&optimize=medium)

5\. Click **Existing dataset** and select the dataset you created in previous exercise **.** Set **Dataflow name** to \[your initials] - CRM Profile Dataflow. Click **Next.**



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_14809b505bf1d8556bcf902dfaad4d116593e6874.png?width=750\&format=png\&optimize=medium)

6\. Fields from csv file are automatically mapped to the selected schema using ML algorithms, however it may not always get it right. For example the phone is incorrect here.



Check your mapping and if you see anything that doesn't look right, select the correct mapping by clicking on the **Target Field** and selecting the right option from the **Target Schema** on the right.

![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_12e2ea24705e58306e5678f997e83f56d2e72e094.png?width=750\&format=png\&optimize=medium)



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_1879b3d6d2b701341d13b66bd81c86de9d2aa1841.png?width=750\&format=png\&optimize=medium)

7\. Let's correct the mapping for “city”, Click on the **Target Field** and select homeAddress.city instead



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_1316d86ac02705075fd26cb44bd873ed6fa5ebcb8.png?width=750\&format=png\&optimize=medium)

Click **Next** once you're happy the fields are correctly mapped.



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_1b3a42af584676f05a5f7bca2ff200bf02b3c9867.png?width=750\&format=png\&optimize=medium)

7\. Let's also add the current timestamp as a last modified date to the ingestion. Click on the **New field type** button and select **Add calculated field.**



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_145c6c6a29097f012951fbd39ab17417538db7399.png?width=750\&format=png\&optimize=medium)

Add the function **now()** to the formula and show the preview



Click Save. Map the new field to **\_repo.modifyDate.**

![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_186c97a40453039969088aa6b6a5f32b21420a577.png?width=750\&format=png\&optimize=medium)



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_147840f6334257f2d0eef8a020d6cdc2044d1b20e.png?width=750\&format=png\&optimize=medium)

8\. The next step is to set up the scheduling. Batch based source connectors can check for new data as frequently as every 15 mins, for this exercise however we'll just set it to run once. Leave the start time as is and click **Next.**



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_16e6f1c7e2d969b974d36e59c80d46d0bbad7bbbc.png?width=750\&format=png\&optimize=medium)

9\. Review and click **Finish** to create your dataflow.



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_194026c550f642ddee107057ffe56aa82ccd09047.png?width=750\&format=png\&optimize=medium)

10\. The newly configured dataflow will be displayed under the Amazon S3 source connector.



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_16cd183b22b660159240dadb9e87a98eba652b2ce.png?width=750\&format=png\&optimize=medium)



![](https://main--india-summit-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_1ed948e23df594051a818ceaffa677b4f38cabd03.png?width=750\&format=png\&optimize=medium)

*The dataflow will start asynchronously according to the schedule but may take a minute or two to kick off the first execution.*
