import os
import sys, traceback
import json

def run_script():
	out.println("Reducer Started!")
	oKey.set(iKey)

	try:
		for val in iValues:
			info = json.loads(val.toString())

			out.println(info)

			output.write(oKey, json.dumps(info))
	except Exception as err:
		message = "\n\nEXCEPTION INFO:"
		exc_type, exc_value, exc_traceback = sys.exc_info()
		tb_list = traceback.format_tb(exc_traceback, 6)
		errmessage = str(exc_value)
		stacktrace = "Error: %s \nTraceback:" % (exc_type.__name__)

		for stk in tb_list:
			stacktrace += stk

		for rec in err.args:
			message += "\nMessage: " + str(rec)

		message += "\nStack: " + str(stacktrace)
		out.println("Error Parsing Log: " + message)

	out.println("Reducer Finished!")

if __name__ == '__main__':
    run_script()