<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Introduction to Talend and Amazon Real-Time Machine Learning in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/Introduction-to-Talend-and-Amazon-Real-Time-Machine-Learning/ta-p/2151200</link>
    <description>&lt;P&gt;This article explains how to use Talend to harness the capabilities of Amazon Web Services (AWS) Machine Learning (ML) services in real-time mode. The goal is to help Talend enthusiasts integrate AWS ML and Talend without worrying about underlying complexities.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Content:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="5" color="#339966"&gt;Environment:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;Talend 7.0.1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Data Preparation for an AWS Machine Learning&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;The first step in an AWS ML service is to identify source data that can be used to train the ML model. AWS S3 and AWS Redshift are the two services that can be used as the sources to train an AWS ML model.&lt;/P&gt;
&lt;P&gt;In this article, you are going to create an ML model based on the &lt;A title="Iris Data set" href="https://archive.ics.uci.edu/ml/datasets/iris" target="_blank" rel="noopener"&gt;Iris Data Set&lt;/A&gt; provided by the University of California, Irvine. The database classifies Iris plants in to three groups, Iris Setosa, Iris Versicolour, and Iris Virginica, based on the sepal length, sepal width, petal length, and petal width.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWbG.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124081iF005E5A3F78EA056/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWbG.png" alt="0EM3p000001jWbG.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Talend can be seamlessly used to load data to AWS S3 and AWS Redshift.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uGNSAA2.jpg"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/121528i4E325A26A66B0AA3/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uGNSAA2.jpg" alt="0693p000008uGNSAA2.jpg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;For more information on loading data using Talend with S3 and Redshift, see the following resources in &lt;A href="https://help.talend.com/home" target="_blank" rel="noopener"&gt;Talend Help Center&lt;/A&gt;:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Talend and S3 - &lt;A title="Talend File exchanges with Amazon S3" href="https://help.talend.com/r/en-US/8.0/amazon-s3/ts3put-ts3get-ts3connection-exchange-files-with-amazon-s3-standard-component-in-this" target="_blank" rel="noopener"&gt;File exchanges with Amazon S3&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Talend and Redshift - &lt;A title="Using Amazon Redshift with Talend Integration Cloud" href="https://help.talend.com/search/all?query=Using+Amazon+Redshift+with+Talend+Integration+Cloud&amp;amp;filters=EnrichVersion~%25227.0%2522&amp;amp;content-lang=en-US" target="_blank" rel="noopener"&gt;Using Amazon Redshift with Talend Integration Cloud&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In this example, S3 is identified as the source to train the AWS ML model, and the data was loaded to the bucket in Amazon S3 using Talend.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWb1.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123287i92615B93CA678531/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWb1.png" alt="0EM3p000001jWb1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Creation of an AWS Machine Learning model&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;Creation of an ML model involves two sub-tasks, but these steps are integrated together in the AWS ML process: &lt;STRONG&gt;Creation of a training data source in an AWS ML&lt;/STRONG&gt; &lt;STRONG&gt;service&lt;/STRONG&gt; and&amp;nbsp;&lt;SPAN&gt;&lt;STRONG&gt;Creation of an AWS ML model&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;After the data source is ready in Amazon S3, select the AWS region of your choice for Machine Learning activities. After selecting the region, go to the &lt;STRONG&gt;AWS ML service&lt;/STRONG&gt; page, and select &lt;STRONG&gt;Standard setup&lt;/STRONG&gt;, then &lt;STRONG&gt;Launch&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jW6S.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122523i16D8552272355C43/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jW6S.png" alt="0EM3p000001jW6S.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;From the &lt;STRONG&gt;Input Data&lt;/STRONG&gt; page, select the &lt;STRONG&gt;Amazon&lt;/STRONG&gt; &lt;STRONG&gt;S3&lt;/STRONG&gt; button, and complete the bucket and file name details (where the Iris dataset is located). For &lt;STRONG&gt;Datasource name&lt;/STRONG&gt;, type &lt;STRONG&gt;Iris_Dataset&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jW97.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123904i631E8B15308E7818/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jW97.png" alt="0EM3p000001jW97.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;If the AWS ML service is using the bucket for the first time, you are prompted to provide read permission to the bucket. Select &lt;STRONG&gt;Yes&lt;/STRONG&gt; for the query.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWAU.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/121683i1679B3A4A27E09D4/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWAU.png" alt="0EM3p000001jWAU.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select &lt;STRONG&gt;Continue&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWAt.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122521i7D1998938D8DEE3D/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWAt.png" alt="0EM3p000001jWAt.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;The &lt;STRONG&gt;Schema&lt;/STRONG&gt; page displays details of the dataset. Answer &lt;STRONG&gt;Yes&lt;/STRONG&gt; to the question, &lt;STRONG&gt;Does the first line in your CSV contain the column names?&lt;/STRONG&gt; Click &lt;STRONG&gt;Continue&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWBh.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122628i93B15348720BF586/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWBh.png" alt="0EM3p000001jWBh.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select the entry in the &lt;STRONG&gt;Target&lt;/STRONG&gt; column whose value has to be predicted. For this example, select the &lt;STRONG&gt;class&lt;/STRONG&gt; row, then click &lt;STRONG&gt;Continue&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWCG.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124481i80DE3771F2B9AB89/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWCG.png" alt="0EM3p000001jWCG.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;From the &lt;STRONG&gt;Row ID&lt;/STRONG&gt; page, answer &lt;STRONG&gt;No&lt;/STRONG&gt; to the question, &lt;STRONG&gt;Does your data contain an identifier? &lt;/STRONG&gt; Click &lt;STRONG&gt;Review&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWDs.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122597iD83EAB507C861E1C/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWDs.png" alt="0EM3p000001jWDs.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Review the data source information generated by AWS ML, review your settings, then click &lt;STRONG&gt;Continue&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWEM.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122155i3421F71EF38B2BB9/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWEM.png" alt="0EM3p000001jWEM.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;The next page provides training and evaluation settings of the ML model. Select the &lt;STRONG&gt;Default (Recommended)&lt;/STRONG&gt; setting, to set aside 30% of the data for the evaluation process.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWEv.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123031i832EB5B318B6A336/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWEv.png" alt="0EM3p000001jWEv.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;From the final &lt;STRONG&gt;Review&lt;/STRONG&gt; page, select &lt;STRONG&gt;Create ML model&lt;/STRONG&gt; to create the Machine Learning Model in AWS.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWFo.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124522iF29D2115C497F937/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWFo.png" alt="0EM3p000001jWFo.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;The model creation process can run from several minutes to several hours, based on the input data set size and the number of columns. The status is &lt;STRONG&gt;Pending&lt;/STRONG&gt; until the model processing is complete, then status changes to &lt;STRONG&gt;Completed&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWHV.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122676i6DE46023AAC8FAB9/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWHV.png" alt="0EM3p000001jWHV.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;You have to repeat these steps in AWS whenever AWS ML model changes are required, due to massive modification in source data pattern.&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Creation of a real-time prediction endpoint for the AWS ML model&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;After&amp;nbsp;the model is generated and is in &lt;STRONG&gt;Completed&lt;/STRONG&gt; status, go to the &lt;STRONG&gt;Prediction&lt;/STRONG&gt; section of the AWS ML model and select &lt;STRONG&gt;Create endpoint&lt;/STRONG&gt;. The new endpoint is used to send requests and receive responses in real-time between Talend and AWS ML.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWI4.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123715iCFC88EB32678BED0/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWI4.png" alt="0EM3p000001jWI4.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;After the endpoint is ready, the status changes to &lt;STRONG&gt;Ready&lt;/STRONG&gt;, and the endpoint URL is displayed.&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uGewAAE.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/125074i51D1A98399857FE3/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uGewAAE.png" alt="0693p000008uGewAAE.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Configure a Talend Routine to call an AWS ML real-time endpoint&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;Connect to Talend Studio and create a new routine called &lt;STRONG&gt;AWS_ML_RT_Predict&lt;/STRONG&gt; that connects to the AWS ML endpoint to transmit the incoming JSON record and process the data. The routine also collects the predict response back from the AWS ML Predict function.&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uGMeAAM.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123483i674EEF80801C2CDD/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uGMeAAM.png" alt="0693p000008uGMeAAM.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Insert the following code into the Talend Routine:&lt;/P&gt;
&lt;PRE class="ckeditor_codeblock"&gt;package routines;

import java.util.HashMap;
import java.util.Map;
import java.io.IOException;
// Amazon SDK 1.11.380
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.services.machinelearning.AmazonMachineLearning;
import com.amazonaws.services.machinelearning.AmazonMachineLearningClientBuilder;
import com.amazonaws.services.machinelearning.model.PredictRequest;
import com.amazonaws.services.machinelearning.model.PredictResult;
// Jackson Jar 2.6.6
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;


public class AWS_ML_RT_Predict {

   
public static String RT_Predict(String AWS_Access_Key,String AWS_Secret_Key, String AWS_regionName, String AWS_ML_model_id, String AWS_endpoint,String ML_request) throws JsonParseException, JsonMappingException, IOException 
     {

// AWS Connection
	
     BasicAWSCredentials basic = new BasicAWSCredentials(AWS_Access_Key,AWS_Secret_Key);
     AmazonMachineLearning awsClient = AmazonMachineLearningClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(basic)).withRegion(AWS_regionName).build();

// Create AWS Predict Request Object 
     
     PredictRequest predReq = new PredictRequest();
     predReq.setMLModelId(AWS_ML_model_id);
     predReq.setPredictEndpoint(AWS_endpoint);
     
     ObjectMapper mapperObj = new ObjectMapper();
     Map&amp;lt;String,String&amp;gt; recMap = new HashMap&amp;lt;String, String&amp;gt;(); 
 
// Convert Input JSON string to Map values
     
     recMap = mapperObj.readValue(ML_request,new TypeReference&amp;lt;HashMap&amp;lt;String,String&amp;gt;&amp;gt;(){});
 	
// Send map values to AWS ML Predict     
     predReq.setRecord(recMap);
     
// Receive the predict result     
     PredictResult predResult = awsClient.predict(predReq);

     String ML_response_JSON=predResult.toString();
     
     return ML_response_JSON;

     }

}&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;The Talend Routine needs additional JAR files. Install the following JAR files in the routine:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;AWS SDK 1.11.380&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Jackson core 2.6.6&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Jackson Annotations 2.6.0&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Jackson Databind 2.6.6&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;org.apache.commons.logging&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;httpcore&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;httpclient&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;joda-time&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Add additional Java libraries to the routine by selecting &lt;STRONG&gt;Edit Routine Libraries&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWLD.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123698i196D271B3BD14AEE/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWLD.png" alt="0EM3p000001jWLD.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select &lt;STRONG&gt;New&lt;/STRONG&gt; in the pop-up window to add libraries to the routine.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWQ3.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/125161iFD81FB0E8B580CEE/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWQ3.png" alt="0EM3p000001jWQ3.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select &lt;STRONG&gt;Artifact repository(local m2/nexus)&lt;/STRONG&gt; and go to the &lt;STRONG&gt;Install a new module&lt;/STRONG&gt; window.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWR6.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123367i87C3FBEDEFC2ACC6/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWR6.png" alt="0EM3p000001jWR6.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select the JAR file from the local drive.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWRG.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/121547i1E4EE61B9B1998FE/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWRG.png" alt="0EM3p000001jWRG.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select &lt;STRONG&gt;Detect the module install status&lt;/STRONG&gt; to verify whether the module is already installed.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWOX.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122483iD56B76ED231239FD/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWOX.png" alt="0EM3p000001jWOX.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;If the JAR file is not installed, the status changes from the error flag to &lt;STRONG&gt;Install a module&lt;/STRONG&gt; followed by JAR file name. Click &lt;STRONG&gt;OK&lt;/STRONG&gt; to load the JAR file to the routine. After all the JAR files are installed, click &lt;STRONG&gt;Finish&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWSE.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124655i1C77DAE9F8C57625/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWSE.png" alt="0EM3p000001jWSE.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Talend sample Job with an AWS Machine Learning real-time prediction&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;The setup activities are complete and the routine can be used in any Talend Job as a user defined function. The Talend Routine helps to generate real-time predictions based on the AWS ML model. In this example, nine sample JSON records, from the Iris dataset, are processed through the &lt;STRONG&gt;input_data.txt&lt;/STRONG&gt; attached to this article.&lt;/P&gt;
&lt;PRE class="ckeditor_codeblock"&gt;{"sepal_length" : "4.8","sepal_width" : "3","petal_length" : "1.4","petal_width" : "0.1"}
{"sepal_length" : "4.3","sepal_width" : "3","petal_length" : "1.1","petal_width" : "0.1"}
{"sepal_length" : "4.4","sepal_width" : "2.9","petal_length" : "1.4","petal_width" : "0.2"}
{"sepal_length" : "5.8","sepal_width" : "2.7","petal_length" : "4.1","petal_width" : "1"}
{"sepal_length" : "5.6","sepal_width" : "2.5","petal_length" : "3.9","petal_width" : "1.1"}
{"sepal_length" : "5.9","sepal_width" : "3.2","petal_length" : "4.8","petal_width" : "1.8"}
{"sepal_length" : "7.9","sepal_width" : "3.8","petal_length" : "6.4","petal_width" : "2"}
{"sepal_length" : "6.8","sepal_width" : "3.2","petal_length" : "5.9","petal_width" : "2.3"}
{"sepal_length" : "6.7","sepal_width" : "3.3","petal_length" : "5.7","petal_width" : "2.5"}&lt;/PRE&gt;
&lt;P&gt;The following diagram shows the overall Job flow for the AWS ML real-time prediction:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWXn.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122026i5BBDC52967DA3105/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWXn.png" alt="0EM3p000001jWXn.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The configuration details for each Talend component are as follows:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;Use a&lt;STRONG&gt; tFileInputFullRow&lt;/STRONG&gt; component to read the file and to process each row.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWXx.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123113i12A0498CCBB2E6DA/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWXx.png" alt="0EM3p000001jWXx.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Use a &lt;STRONG&gt;tJavaRow&lt;/STRONG&gt; to call the Talend Routine &lt;STRONG&gt;AWS_ML_RT_Predict&lt;/STRONG&gt; to generate the prediction value based on the configuration details. The &lt;STRONG&gt;RT_Predict&lt;/STRONG&gt; method of the Talend Routine will process the incoming data and provide the Prediction value as output in String format. The parameters required for the method are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;AWS Access Key&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;AWS Secret Key&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;AWS region id, for example, &lt;STRONG&gt;us-east-1, eu-west-1&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;AWS Machine Learning Model Id (id generated by AWS after Model is successfully created)&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;AWS Machine Learning endpoint, for example, &lt;A href="https://realtime.machinelearning.eu-west-1.amazonaws.com" target="_blank" rel="noopener"&gt;https://realtime.machinelearning.eu-west-1.amazonaws.com&lt;/A&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Input JSON string&lt;/P&gt;
&lt;P&gt;Since AWS Access Key and Secret Key are passwords, Talend recommends handling them through context variables rather than hard coding the Job. The context variables can be passed to the Job at runtime.&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWYH.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/125097i43EA3F094F93745E/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWYH.png" alt="0EM3p000001jWYH.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Use a &lt;STRONG&gt;tMap&lt;/STRONG&gt; component to replace the &lt;STRONG&gt;"="&lt;/STRONG&gt;character present in output String with &lt;STRONG&gt;":"&lt;/STRONG&gt; . This step makes data parsing easier in the downstream components.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWYW.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124478iA6F3B574EF4C167A/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWYW.png" alt="0EM3p000001jWYW.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Use a &lt;STRONG&gt;tExtractJSONFields&lt;/STRONG&gt; component to extract the &lt;STRONG&gt;PredictedLabel&lt;/STRONG&gt; value from the output JSON.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWXo.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123595i50A4C9596BFCB7E9/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWXo.png" alt="0EM3p000001jWXo.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWWv.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122369i62588ABAE190DAF6/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWWv.png" alt="0EM3p000001jWWv.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Use a &lt;STRONG&gt; tLogRow&lt;/STRONG&gt; to capture the output and print the data to the console.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWZP.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124255iF48194A961FE45A5/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWZP.png" alt="0EM3p000001jWZP.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;After the Job is executed, the data is processed, and AWS ML predicts the target group in real-time.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWZo.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/121623i872B4301924FCA1B/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWZo.png" alt="0EM3p000001jWZo.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Conclusion&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;This scenario is a use case of integrating Talend with AWS ML. Instead of using a file, you can transmit input data to a Talend Routine from a queue or a web service.&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Citations&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;
&lt;P&gt;AWS documentation, &lt;A title="Amazon Machine Learning Tutorials" href="https://docs.aws.amazon.com/machine-learning/latest/dg/tutorial.html?icmpid=docs_machinelearning_console" target="_blank" rel="noopener"&gt;Amazon Machine Learning Tutorials&lt;/A&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;A title="UCI Iris Data set" href="https://archive.ics.uci.edu/ml/datasets/iris" target="_blank" rel="noopener"&gt;UCI Iris Data set&lt;/A&gt;, Dua, D. and Karra Taniskidou, E. (2017), University of California at Irvine (UCI) Machine Learning Repository&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;A href="http://archive.ics.uci.edu/ml" target="_blank" rel="noopener"&gt;Welcome to the UC Irvine Machine Learning Repository&lt;/A&gt; Irvine, CA: University of California, School of Information and Computer Science&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;</description>
    <pubDate>Tue, 23 Jan 2024 02:35:30 GMT</pubDate>
    <dc:creator>TalendSolutionExpert</dc:creator>
    <dc:date>2024-01-23T02:35:30Z</dc:date>
    <item>
      <title>Introduction to Talend and Amazon Real-Time Machine Learning</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Introduction-to-Talend-and-Amazon-Real-Time-Machine-Learning/ta-p/2151200</link>
      <description>&lt;P&gt;This article explains how to use Talend to harness the capabilities of Amazon Web Services (AWS) Machine Learning (ML) services in real-time mode. The goal is to help Talend enthusiasts integrate AWS ML and Talend without worrying about underlying complexities.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Content:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="5" color="#339966"&gt;Environment:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;Talend 7.0.1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Data Preparation for an AWS Machine Learning&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;The first step in an AWS ML service is to identify source data that can be used to train the ML model. AWS S3 and AWS Redshift are the two services that can be used as the sources to train an AWS ML model.&lt;/P&gt;
&lt;P&gt;In this article, you are going to create an ML model based on the &lt;A title="Iris Data set" href="https://archive.ics.uci.edu/ml/datasets/iris" target="_blank" rel="noopener"&gt;Iris Data Set&lt;/A&gt; provided by the University of California, Irvine. The database classifies Iris plants in to three groups, Iris Setosa, Iris Versicolour, and Iris Virginica, based on the sepal length, sepal width, petal length, and petal width.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWbG.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124081iF005E5A3F78EA056/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWbG.png" alt="0EM3p000001jWbG.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Talend can be seamlessly used to load data to AWS S3 and AWS Redshift.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uGNSAA2.jpg"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/121528i4E325A26A66B0AA3/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uGNSAA2.jpg" alt="0693p000008uGNSAA2.jpg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;For more information on loading data using Talend with S3 and Redshift, see the following resources in &lt;A href="https://help.talend.com/home" target="_blank" rel="noopener"&gt;Talend Help Center&lt;/A&gt;:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Talend and S3 - &lt;A title="Talend File exchanges with Amazon S3" href="https://help.talend.com/r/en-US/8.0/amazon-s3/ts3put-ts3get-ts3connection-exchange-files-with-amazon-s3-standard-component-in-this" target="_blank" rel="noopener"&gt;File exchanges with Amazon S3&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Talend and Redshift - &lt;A title="Using Amazon Redshift with Talend Integration Cloud" href="https://help.talend.com/search/all?query=Using+Amazon+Redshift+with+Talend+Integration+Cloud&amp;amp;filters=EnrichVersion~%25227.0%2522&amp;amp;content-lang=en-US" target="_blank" rel="noopener"&gt;Using Amazon Redshift with Talend Integration Cloud&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In this example, S3 is identified as the source to train the AWS ML model, and the data was loaded to the bucket in Amazon S3 using Talend.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWb1.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123287i92615B93CA678531/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWb1.png" alt="0EM3p000001jWb1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Creation of an AWS Machine Learning model&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;Creation of an ML model involves two sub-tasks, but these steps are integrated together in the AWS ML process: &lt;STRONG&gt;Creation of a training data source in an AWS ML&lt;/STRONG&gt; &lt;STRONG&gt;service&lt;/STRONG&gt; and&amp;nbsp;&lt;SPAN&gt;&lt;STRONG&gt;Creation of an AWS ML model&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;After the data source is ready in Amazon S3, select the AWS region of your choice for Machine Learning activities. After selecting the region, go to the &lt;STRONG&gt;AWS ML service&lt;/STRONG&gt; page, and select &lt;STRONG&gt;Standard setup&lt;/STRONG&gt;, then &lt;STRONG&gt;Launch&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jW6S.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122523i16D8552272355C43/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jW6S.png" alt="0EM3p000001jW6S.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;From the &lt;STRONG&gt;Input Data&lt;/STRONG&gt; page, select the &lt;STRONG&gt;Amazon&lt;/STRONG&gt; &lt;STRONG&gt;S3&lt;/STRONG&gt; button, and complete the bucket and file name details (where the Iris dataset is located). For &lt;STRONG&gt;Datasource name&lt;/STRONG&gt;, type &lt;STRONG&gt;Iris_Dataset&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jW97.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123904i631E8B15308E7818/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jW97.png" alt="0EM3p000001jW97.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;If the AWS ML service is using the bucket for the first time, you are prompted to provide read permission to the bucket. Select &lt;STRONG&gt;Yes&lt;/STRONG&gt; for the query.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWAU.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/121683i1679B3A4A27E09D4/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWAU.png" alt="0EM3p000001jWAU.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select &lt;STRONG&gt;Continue&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWAt.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122521i7D1998938D8DEE3D/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWAt.png" alt="0EM3p000001jWAt.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;The &lt;STRONG&gt;Schema&lt;/STRONG&gt; page displays details of the dataset. Answer &lt;STRONG&gt;Yes&lt;/STRONG&gt; to the question, &lt;STRONG&gt;Does the first line in your CSV contain the column names?&lt;/STRONG&gt; Click &lt;STRONG&gt;Continue&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWBh.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122628i93B15348720BF586/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWBh.png" alt="0EM3p000001jWBh.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select the entry in the &lt;STRONG&gt;Target&lt;/STRONG&gt; column whose value has to be predicted. For this example, select the &lt;STRONG&gt;class&lt;/STRONG&gt; row, then click &lt;STRONG&gt;Continue&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWCG.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124481i80DE3771F2B9AB89/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWCG.png" alt="0EM3p000001jWCG.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;From the &lt;STRONG&gt;Row ID&lt;/STRONG&gt; page, answer &lt;STRONG&gt;No&lt;/STRONG&gt; to the question, &lt;STRONG&gt;Does your data contain an identifier? &lt;/STRONG&gt; Click &lt;STRONG&gt;Review&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWDs.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122597iD83EAB507C861E1C/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWDs.png" alt="0EM3p000001jWDs.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Review the data source information generated by AWS ML, review your settings, then click &lt;STRONG&gt;Continue&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWEM.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122155i3421F71EF38B2BB9/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWEM.png" alt="0EM3p000001jWEM.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;The next page provides training and evaluation settings of the ML model. Select the &lt;STRONG&gt;Default (Recommended)&lt;/STRONG&gt; setting, to set aside 30% of the data for the evaluation process.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWEv.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123031i832EB5B318B6A336/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWEv.png" alt="0EM3p000001jWEv.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;From the final &lt;STRONG&gt;Review&lt;/STRONG&gt; page, select &lt;STRONG&gt;Create ML model&lt;/STRONG&gt; to create the Machine Learning Model in AWS.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWFo.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124522iF29D2115C497F937/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWFo.png" alt="0EM3p000001jWFo.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;The model creation process can run from several minutes to several hours, based on the input data set size and the number of columns. The status is &lt;STRONG&gt;Pending&lt;/STRONG&gt; until the model processing is complete, then status changes to &lt;STRONG&gt;Completed&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWHV.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122676i6DE46023AAC8FAB9/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWHV.png" alt="0EM3p000001jWHV.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;You have to repeat these steps in AWS whenever AWS ML model changes are required, due to massive modification in source data pattern.&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Creation of a real-time prediction endpoint for the AWS ML model&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;After&amp;nbsp;the model is generated and is in &lt;STRONG&gt;Completed&lt;/STRONG&gt; status, go to the &lt;STRONG&gt;Prediction&lt;/STRONG&gt; section of the AWS ML model and select &lt;STRONG&gt;Create endpoint&lt;/STRONG&gt;. The new endpoint is used to send requests and receive responses in real-time between Talend and AWS ML.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWI4.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123715iCFC88EB32678BED0/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWI4.png" alt="0EM3p000001jWI4.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;After the endpoint is ready, the status changes to &lt;STRONG&gt;Ready&lt;/STRONG&gt;, and the endpoint URL is displayed.&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uGewAAE.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/125074i51D1A98399857FE3/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uGewAAE.png" alt="0693p000008uGewAAE.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Configure a Talend Routine to call an AWS ML real-time endpoint&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;Connect to Talend Studio and create a new routine called &lt;STRONG&gt;AWS_ML_RT_Predict&lt;/STRONG&gt; that connects to the AWS ML endpoint to transmit the incoming JSON record and process the data. The routine also collects the predict response back from the AWS ML Predict function.&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uGMeAAM.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123483i674EEF80801C2CDD/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uGMeAAM.png" alt="0693p000008uGMeAAM.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Insert the following code into the Talend Routine:&lt;/P&gt;
&lt;PRE class="ckeditor_codeblock"&gt;package routines;

import java.util.HashMap;
import java.util.Map;
import java.io.IOException;
// Amazon SDK 1.11.380
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.services.machinelearning.AmazonMachineLearning;
import com.amazonaws.services.machinelearning.AmazonMachineLearningClientBuilder;
import com.amazonaws.services.machinelearning.model.PredictRequest;
import com.amazonaws.services.machinelearning.model.PredictResult;
// Jackson Jar 2.6.6
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;


public class AWS_ML_RT_Predict {

   
public static String RT_Predict(String AWS_Access_Key,String AWS_Secret_Key, String AWS_regionName, String AWS_ML_model_id, String AWS_endpoint,String ML_request) throws JsonParseException, JsonMappingException, IOException 
     {

// AWS Connection
	
     BasicAWSCredentials basic = new BasicAWSCredentials(AWS_Access_Key,AWS_Secret_Key);
     AmazonMachineLearning awsClient = AmazonMachineLearningClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(basic)).withRegion(AWS_regionName).build();

// Create AWS Predict Request Object 
     
     PredictRequest predReq = new PredictRequest();
     predReq.setMLModelId(AWS_ML_model_id);
     predReq.setPredictEndpoint(AWS_endpoint);
     
     ObjectMapper mapperObj = new ObjectMapper();
     Map&amp;lt;String,String&amp;gt; recMap = new HashMap&amp;lt;String, String&amp;gt;(); 
 
// Convert Input JSON string to Map values
     
     recMap = mapperObj.readValue(ML_request,new TypeReference&amp;lt;HashMap&amp;lt;String,String&amp;gt;&amp;gt;(){});
 	
// Send map values to AWS ML Predict     
     predReq.setRecord(recMap);
     
// Receive the predict result     
     PredictResult predResult = awsClient.predict(predReq);

     String ML_response_JSON=predResult.toString();
     
     return ML_response_JSON;

     }

}&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;The Talend Routine needs additional JAR files. Install the following JAR files in the routine:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;AWS SDK 1.11.380&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Jackson core 2.6.6&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Jackson Annotations 2.6.0&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Jackson Databind 2.6.6&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;org.apache.commons.logging&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;httpcore&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;httpclient&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;joda-time&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Add additional Java libraries to the routine by selecting &lt;STRONG&gt;Edit Routine Libraries&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWLD.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123698i196D271B3BD14AEE/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWLD.png" alt="0EM3p000001jWLD.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select &lt;STRONG&gt;New&lt;/STRONG&gt; in the pop-up window to add libraries to the routine.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWQ3.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/125161iFD81FB0E8B580CEE/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWQ3.png" alt="0EM3p000001jWQ3.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select &lt;STRONG&gt;Artifact repository(local m2/nexus)&lt;/STRONG&gt; and go to the &lt;STRONG&gt;Install a new module&lt;/STRONG&gt; window.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWR6.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123367i87C3FBEDEFC2ACC6/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWR6.png" alt="0EM3p000001jWR6.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select the JAR file from the local drive.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWRG.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/121547i1E4EE61B9B1998FE/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWRG.png" alt="0EM3p000001jWRG.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Select &lt;STRONG&gt;Detect the module install status&lt;/STRONG&gt; to verify whether the module is already installed.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWOX.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122483iD56B76ED231239FD/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWOX.png" alt="0EM3p000001jWOX.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;If the JAR file is not installed, the status changes from the error flag to &lt;STRONG&gt;Install a module&lt;/STRONG&gt; followed by JAR file name. Click &lt;STRONG&gt;OK&lt;/STRONG&gt; to load the JAR file to the routine. After all the JAR files are installed, click &lt;STRONG&gt;Finish&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWSE.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124655i1C77DAE9F8C57625/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWSE.png" alt="0EM3p000001jWSE.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Talend sample Job with an AWS Machine Learning real-time prediction&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;The setup activities are complete and the routine can be used in any Talend Job as a user defined function. The Talend Routine helps to generate real-time predictions based on the AWS ML model. In this example, nine sample JSON records, from the Iris dataset, are processed through the &lt;STRONG&gt;input_data.txt&lt;/STRONG&gt; attached to this article.&lt;/P&gt;
&lt;PRE class="ckeditor_codeblock"&gt;{"sepal_length" : "4.8","sepal_width" : "3","petal_length" : "1.4","petal_width" : "0.1"}
{"sepal_length" : "4.3","sepal_width" : "3","petal_length" : "1.1","petal_width" : "0.1"}
{"sepal_length" : "4.4","sepal_width" : "2.9","petal_length" : "1.4","petal_width" : "0.2"}
{"sepal_length" : "5.8","sepal_width" : "2.7","petal_length" : "4.1","petal_width" : "1"}
{"sepal_length" : "5.6","sepal_width" : "2.5","petal_length" : "3.9","petal_width" : "1.1"}
{"sepal_length" : "5.9","sepal_width" : "3.2","petal_length" : "4.8","petal_width" : "1.8"}
{"sepal_length" : "7.9","sepal_width" : "3.8","petal_length" : "6.4","petal_width" : "2"}
{"sepal_length" : "6.8","sepal_width" : "3.2","petal_length" : "5.9","petal_width" : "2.3"}
{"sepal_length" : "6.7","sepal_width" : "3.3","petal_length" : "5.7","petal_width" : "2.5"}&lt;/PRE&gt;
&lt;P&gt;The following diagram shows the overall Job flow for the AWS ML real-time prediction:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWXn.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122026i5BBDC52967DA3105/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWXn.png" alt="0EM3p000001jWXn.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The configuration details for each Talend component are as follows:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;Use a&lt;STRONG&gt; tFileInputFullRow&lt;/STRONG&gt; component to read the file and to process each row.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWXx.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123113i12A0498CCBB2E6DA/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWXx.png" alt="0EM3p000001jWXx.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Use a &lt;STRONG&gt;tJavaRow&lt;/STRONG&gt; to call the Talend Routine &lt;STRONG&gt;AWS_ML_RT_Predict&lt;/STRONG&gt; to generate the prediction value based on the configuration details. The &lt;STRONG&gt;RT_Predict&lt;/STRONG&gt; method of the Talend Routine will process the incoming data and provide the Prediction value as output in String format. The parameters required for the method are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;AWS Access Key&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;AWS Secret Key&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;AWS region id, for example, &lt;STRONG&gt;us-east-1, eu-west-1&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;AWS Machine Learning Model Id (id generated by AWS after Model is successfully created)&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;AWS Machine Learning endpoint, for example, &lt;A href="https://realtime.machinelearning.eu-west-1.amazonaws.com" target="_blank" rel="noopener"&gt;https://realtime.machinelearning.eu-west-1.amazonaws.com&lt;/A&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Input JSON string&lt;/P&gt;
&lt;P&gt;Since AWS Access Key and Secret Key are passwords, Talend recommends handling them through context variables rather than hard coding the Job. The context variables can be passed to the Job at runtime.&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWYH.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/125097i43EA3F094F93745E/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWYH.png" alt="0EM3p000001jWYH.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Use a &lt;STRONG&gt;tMap&lt;/STRONG&gt; component to replace the &lt;STRONG&gt;"="&lt;/STRONG&gt;character present in output String with &lt;STRONG&gt;":"&lt;/STRONG&gt; . This step makes data parsing easier in the downstream components.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWYW.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124478iA6F3B574EF4C167A/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWYW.png" alt="0EM3p000001jWYW.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Use a &lt;STRONG&gt;tExtractJSONFields&lt;/STRONG&gt; component to extract the &lt;STRONG&gt;PredictedLabel&lt;/STRONG&gt; value from the output JSON.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWXo.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/123595i50A4C9596BFCB7E9/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWXo.png" alt="0EM3p000001jWXo.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWWv.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122369i62588ABAE190DAF6/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWWv.png" alt="0EM3p000001jWWv.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Use a &lt;STRONG&gt; tLogRow&lt;/STRONG&gt; to capture the output and print the data to the console.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWZP.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124255iF48194A961FE45A5/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWZP.png" alt="0EM3p000001jWZP.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;After the Job is executed, the data is processed, and AWS ML predicts the target group in real-time.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0EM3p000001jWZo.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/121623i872B4301924FCA1B/image-size/large?v=v2&amp;amp;px=999" role="button" title="0EM3p000001jWZo.png" alt="0EM3p000001jWZo.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Conclusion&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;This scenario is a use case of integrating Talend with AWS ML. Instead of using a file, you can transmit input data to a Talend Routine from a queue or a web service.&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Citations&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;
&lt;P&gt;AWS documentation, &lt;A title="Amazon Machine Learning Tutorials" href="https://docs.aws.amazon.com/machine-learning/latest/dg/tutorial.html?icmpid=docs_machinelearning_console" target="_blank" rel="noopener"&gt;Amazon Machine Learning Tutorials&lt;/A&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;A title="UCI Iris Data set" href="https://archive.ics.uci.edu/ml/datasets/iris" target="_blank" rel="noopener"&gt;UCI Iris Data set&lt;/A&gt;, Dua, D. and Karra Taniskidou, E. (2017), University of California at Irvine (UCI) Machine Learning Repository&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;A href="http://archive.ics.uci.edu/ml" target="_blank" rel="noopener"&gt;Welcome to the UC Irvine Machine Learning Repository&lt;/A&gt; Irvine, CA: University of California, School of Information and Computer Science&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Tue, 23 Jan 2024 02:35:30 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Introduction-to-Talend-and-Amazon-Real-Time-Machine-Learning/ta-p/2151200</guid>
      <dc:creator>TalendSolutionExpert</dc:creator>
      <dc:date>2024-01-23T02:35:30Z</dc:date>
    </item>
  </channel>
</rss>

