@Override
  public String getDisplayString(String[] children) {
    assert (children.length >= 2);
    StringBuilder sb = new StringBuilder();

    sb.append("(");
    sb.append(children[0]);
    sb.append(") ");
    sb.append("IN (");
    for(int i=1; i<children.length; i++) {
      sb.append(children[i]);
      if (i+1 != children.length) {
        sb.append(", ");
      }
    }
    sb.append(")");
    return sb.toString();
  }
GenericUDFIn

Example usage:
SELECT key FROM src WHERE key IN ("238", "1");

From MySQL page on IN(): To comply with the SQL standard, IN returns NULL
not only if the expression on the left hand side is NULL, but also if no
match is found in the list and one of the expressions in the list is NULL.

Also noteworthy: type conversion behavior is different from MySQL. With
expr IN expr1, expr2... in MySQL, exprN will each be converted into the same
type as expr. In the Hive implementation, all expr(N) will be converted into
a common type for conversion consistency with other UDF's, and to prevent
conversions from a big type to a small type (e.g. int to tinyint)
ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFIn.java