@Override
public ObjectInspector initialize(ObjectInspector[] arguments)
throws UDFArgumentException {
if (arguments.length != 1) {
throw new UDFArgumentLengthException("The function MAP_KEYS only accepts one argument.");
} else if (!(arguments[0] instanceof MapObjectInspector)) {
throw new UDFArgumentTypeException(0, "\""
+ Category.MAP.toString().toLowerCase()
+ "\" is expected at function MAP_KEYS, " + "but \""
+ arguments[0].getTypeName() + "\" is found");