You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/connections/storage/data-lakes/data-lakes-manual-setup.md
+27-22Lines changed: 27 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ The instructions below will guide you through the process required to configure
11
11
In this step, you'll create the S3 bucket that will store both the intermediate and final data.
12
12
13
13
> info ""
14
-
> Take note of the S3 bucket name you set in this step, as the rest of the set up flow requires it. In these instructions, `segment-data-lake` is used.
14
+
> Take note of the S3 bucket name you set in this step, as the rest of the set up flow requires it. In these instructions, the name is `segment-data-lake`.
15
15
16
16
During the set up process, create a Lifecycle rule and set it to expire staging data after **14 days**. For more information, see Amazon's documentation, [How do I create a lifecycle?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html).
17
17
@@ -25,44 +25,39 @@ Segment requires access to an EMR cluster to perform necessary data processing.
25
25
26
26
1. Locate and select EMR from the AWS console.
27
27
2. Click **Create Cluster**, and open the **Advanced Options**.
28
-
3. In the Advanced Options, on Step 1: Software and Steps, ensure the following options are selected, along with the defaults:
28
+
3. In the Advanced Options, on Step 1: Software and Steps, ensure you select the following options, along with the defaults:
29
29
-`Use for Hive table metadata`
30
30
-`Use for Spark table metadata`
31
-
4. In the Networking setup section, select to create the cluster in either a public or private subnet. Creating the cluster in a private subnet is more secure, but requires some additional configuration. Creating a cluster in a public subnet is accessible from the internet. However, you can configure strict security groups to prevent inbound access to the cluster. See Amazon's document, [Amazon VPC Options - Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-clusters-in-a-vpc.html) for more information. As a best practice, Segment recommends that you consult with your network and security before you configure your EMR cluster.
31
+
4. In the Networking setup section, select to create the cluster in either a public or private subnet. Creating the cluster in a private subnet is more secure, but requires additional configuration. Creating a cluster in a public subnet is accessible from the internet. You can configure strict security groups to prevent inbound access to the cluster. See Amazon's document, [Amazon VPC Options - Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-clusters-in-a-vpc.html) for more information. As a best practice, Segment recommends that you consult with your network and security before you configure your EMR cluster.
32
32
5. In the Hardware Configuration section, create a cluster with the nodes listed below. This configuration uses the default **On demand** purchasing option for the instances.
33
33
-**1** master node
34
34
-**2** core nodes
35
35
-**2** task nodes 
36
-
37
-
For more information about configuring the cluster hardware and networking, see Amazon's document, [Configure Cluster Hardware and Networking](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-instances.html).
38
-
39
-
### Enable EMR managed scaling for the Core and Task nodes
40
36
41
-
On the **Cluster Scaling** settings, select **Use EMR-managed scaling**, and select the following number of task units:
42
-
- Minimum: **2**
43
-
- Maximum: **8**
44
-
- On-demand limit: **8**
45
-
- Maximum Core Node: **2**
37
+
For more information about configuring the cluster hardware and networking, see Amazon's document, [Configure Cluster Hardware and Networking](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-instances.html).
46
38
47
-

48
39
49
40
### Configure logging
50
41
51
-
On the General Options step, configure logging to use the same S3 bucket you configured as the destination for the final data (`segment-data-lakes` in this case). Once configured, logs will be written to a new prefix, and separated from the final processed data.
42
+
On the General Options step, configure logging to use the same S3 bucket you configured as the destination for the final data (`segment-data-lakes` in this case). Once configured, logs are to a new prefix, and separated from the final processed data.
43
+
44
+
Set value of the **vendor** tag to `segment`. The IAM policy uses this to provide Segment access to submit jobs in the EMR cluster.
52
45
53
-
Set value of the **vendor** tag to `segment`.
54
46
55
47

56
48
57
49
### Secure the cluster
58
50
59
-
On the Security step, ensure that the following steps have been completed:
51
+
On the Security step, be sure to complete the following steps:
60
52
1. Create or select an **EC2 key pair**.
61
53
2. Choose the appropriate roles in the **EC2 instance profile**.
62
54
3. Select the appropriate security groups for the Master and Core & Task types.
63
55
64
56

65
57
58
+
The image uses the default settings. You can make these settings more restrictive, if required.
59
+
60
+
66
61
## Step 3 - Create an Access Management role and policy
67
62
68
63
The following steps provide examples of the IAM Role and IAM Policy.
@@ -104,7 +99,7 @@ Create a `segment-data-lake-role` role for Segment to assume. Attach the followi
104
99
105
100
### IAM Policy
106
101
107
-
Add a policy to the role created above to give Segment access to the relevant Glue databases and tables, EMR cluster, and S3
102
+
Add a policy to the role created above to give Segment access to the relevant Glue databases and tables, EMR cluster, and S3.
108
103
109
104
```json
110
105
{
@@ -162,7 +157,7 @@ Add a policy to the role created above to give Segment access to the relevant Gl
162
157
"Effect": "Allow",
163
158
"Action": "*",
164
159
"Resource": [
165
-
"arn:aws:s3:::$BUCKET_NAME/*",
160
+
"arn:aws:s3:::$BUCKET_NAME/*",
166
161
"arn:aws:s3:::$BUCKET_NAME"
167
162
]
168
163
},
@@ -174,19 +169,29 @@ Add a policy to the role created above to give Segment access to the relevant Gl
> **NOTE:** The policy above grants full access to Athena, but the individual Glue and S3 policies decide which table can be queried. Segment queries only for debugging purposes, and will notify you be for running any queries.
188
+
> **NOTE:** The policy above grants full access to Athena, but the individual Glue and S3 policies decide which table is queryable. Segment queries for debugging purposes, and will notify you be for running any queries.
184
189
185
190
## Debugging
186
191
187
192
Segment requires access to the data and schema for debugging data quality issues. The modes available for debugging are:
188
-
- Access the individual objects stored in S3 and the associated schema in order to understand data discrepancies
193
+
- Access the individual objects stored in S3 and the associated schema to understand data discrepancies
189
194
- Run an Athena query on the underlying data stored in S3
190
195
- Ensure Athena uses Glue as the data catalog. Older accounts may not have this configuration, and may require some additional steps to complete the upgrade. The Glue console typically displays a warning and provides a link to instructions on how to complete the upgrade.
191
-
- An easier alternative is to create a new account that has Athena backed by Glue as the default.
192
-
196
+

197
+
- An easier alternative is to create a new account that has Athena backed by Glue as the default.
0 commit comments