#!/bin/bash
#
# Support script for loading/ingesting GeoMesa data
#
# See: http://geomesa.github.io/2014/04/17/geomesa-gdelt-analysis/
#

ACCUMULO_INSTANCE="ntc-irad"
ACCUMULO_USER="root"
ACCUMULO_PASSWORD="(r00t)"
ZOOKEEPERS="localhost:2181"
AUTHS="public" # set via accumulo shell using 'setauths -s public -u root'

# Step 1 - upload data to HDFS 

upload() {
	hadoop fs -rm /sensor/sensor.tsv
	cat ./tmp/sensor.csv | sed -e 's/,/\t/g' | hadoop fs -put - /sensor/sensor.tsv
	hadoop fs -ls '/sensor'
}

# Step 2 - ingest data to Accumulo

ingest() {
	CMD="hadoop jar ./target/geomesa-sensor-1.0-SNAPSHOT.jar \
	   geomesa.sensor.SensorIngest \
	   -instanceId $ACCUMULO_INSTANCE \
	   -zookeepers $ZOOKEEPERS \
	   -user $ACCUMULO_USER -password $ACCUMULO_PASSWORD \
	   -auths $AUTHS \
	   -tableName sensor \
	   -featureName sensor \
	   -ingestFile hdfs:///sensor/sensor.tsv"
	echo "-----------------------------------------------------"
	echo "Running: $CMD"
	echo "-----------------------------------------------------"
	$CMD
}

query() {
	CMD="hadoop jar ./target/geomesa-sensor-1.0-SNAPSHOT.jar \
	   geomesa.sensor.SensorQuery \
	   -instanceId $ACCUMULO_INSTANCE \
	   -zookeepers $ZOOKEEPERS \
	   -user $ACCUMULO_USER -password $ACCUMULO_PASSWORD \
	   -auths $AUTHS \
	   -tableName sensor \
	   -featureName sensor"
	echo "-----------------------------------------------------"
	echo "Running: $CMD"
	echo "-----------------------------------------------------"
	$CMD
}

# main

cd "/usr/local/geomesa-sensor"

case $1 in
"upload") 
	upload 
	;;
"ingest") 
	ingest 
	;;
"query") 
	query 
	;;
*)
	echo "Usage: sensor upload|ingest|query"
esac
