/** * Helper for providing a JSON string as a value for a setting. * * @param conf the Configuration * @param key the key for the setting * @param value the JSON string value */ public static void setJSON(final Configuration conf, final String key, final String value) { try { final Object dbObj = JSON.parse(value); setDBObject(conf, key, (DBObject) dbObj); } catch (final Exception e) { LOG.error("Cannot parse JSON...", e); throw new IllegalArgumentException( "Provided JSON String is not representable/parseable as a DBObject.", e); } }
public static Configuration buildConfiguration(final Map<String, Object> data) { Configuration newConf = new Configuration(); for (Entry<String, Object> entry : data.entrySet()) { String key = entry.getKey(); Object val = entry.getValue(); if (val instanceof String) { newConf.set(key, (String) val); } else if (val instanceof Boolean) { newConf.setBoolean(key, (Boolean) val); } else if (val instanceof Integer) { newConf.setInt(key, (Integer) val); } else if (val instanceof Float) { newConf.setFloat(key, (Float) val); } else if (val instanceof DBObject) { setDBObject(newConf, key, (DBObject) val); } else { throw new RuntimeException( "can't convert " + val.getClass() + " into any type for Configuration"); } } return newConf; }
public static void setInputSplitKey(final Configuration conf, final DBObject key) { setDBObject(conf, INPUT_SPLIT_KEY_PATTERN, key); }
/** * Specify the sort order as a DBObject. * * @param conf the Configuration * @param sort the sort document */ public static void setSort(final Configuration conf, final DBObject sort) { setDBObject(conf, INPUT_SORT, sort); }
/** * Specify a projection document for documents retrieved from MongoDB. * * @param conf the Configuration * @param fields a projection document */ public static void setFields(final Configuration conf, final DBObject fields) { setDBObject(conf, INPUT_FIELDS, fields); }
/** * Set the query set for the Job using a DBObject. * * @param conf the Configuration * @param query the query */ public static void setQuery(final Configuration conf, final DBObject query) { setDBObject(conf, INPUT_QUERY, query); }