-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
snowplow-runner-and-loader.sh
executable file
·44 lines (38 loc) · 1.79 KB
/
snowplow-runner-and-loader.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash
# Copyright (c) 2012-2014 Snowplow Analytics Ltd. All rights reserved.
#
# This program is licensed to you under the Apache License Version 2.0,
# and you may not use this file except in compliance with the Apache License Version 2.0.
# You may obtain a copy of the Apache License Version 2.0 at http://www.apache.org/licenses/LICENSE-2.0.
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the Apache License Version 2.0 is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
# Update these for your environment
rvm_path=/path/to/.rvm # Typically in the $HOME of the user who installed RVM
RUNNER_PATH=/path/to/snowplow/3-enrich/emr-etl-runner
LOADER_PATH=/path/to/snowplow/4-storage/storage-loader
RUNNER_CONFIG=/path/to/your-runner-config.yml
RUNNER_ENRICHMENTS=/path/to/your/enrichment-jsons
LOADER_CONFIG=/path/to/your-loader-config.yml
# Load the RVM environment
export PATH=$PATH:${rvm_path}/bin
source ${rvm_path}/scripts/rvm
# Run the ETL job on EMR
export BUNDLE_GEMFILE=${RUNNER_PATH}/Gemfile
bundle exec ${RUNNER_PATH}/bin/snowplow-emr-etl-runner --config ${RUNNER_CONFIG} --enrichments ${RUNNER_ENRICHMENTS}
# Check the damage
ret_val=$?
if [ $ret_val -eq 3 ]
then
echo "No Snowplow logs to process since last run, exiting with return code 0. StorageLoader not run"
exit 0
elif [ $ret_val -ne 0 ]
then
echo "Error running EmrEtlRunner, exiting with return code ${ret_val}. StorageLoader not run"
exit $ret_val
fi
# If all okay, run the storage load too
export BUNDLE_GEMFILE=${LOADER_PATH}/Gemfile
bundle exec ${LOADER_PATH}/bin/snowplow-storage-loader --config ${LOADER_CONFIG}