@UDFType(deterministic = false) public class GenericUDFBucketNumber extends GenericUDF{ @Override public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException { return PrimitiveObjectInspectorFactory.writableStringObjectInspector; } @Override public String getDisplayString(String[] children) { return "_bucket_number"; } @Override public Object evaluate(DeferredObject[] arguments) throws HiveException { return null; } }
@UDFType(deterministic = false) public class GenericUDFAssertTrueOOM extends GenericUDF { private ObjectInspectorConverters.Converter conditionConverter = null;
/** * UDFRowSequence. */ @Description(name = "row_sequence", value = "_FUNC_() - Returns a generated row sequence number starting from 1") @UDFType(deterministic = false, stateful = true) public class UDFRowSequence extends UDF { private LongWritable result = new LongWritable(); public UDFRowSequence() { result.set(0); } public LongWritable evaluate() { result.set(result.get() + 1); return result; } }
@Description( name = "lag", value = "LAG (scalar_expression [,offset] [,default]) OVER ([query_partition_clause] order_by_clause); " + "The LAG function is used to access data from a previous row.", extended = "Example:\n " + "select p1.p_mfgr, p1.p_name, p1.p_size,\n" + " p1.p_size - lag(p1.p_size,1,p1.p_size) over( distribute by p1.p_mfgr sort by p1.p_name) as deltaSz\n" + " from part p1 join part p2 on p1.p_partkey = p2.p_partkey") @UDFType(impliesOrder = true) public class GenericUDFLag extends GenericUDFLeadLag { @Override protected String _getFnName() { return "lag"; } @Override protected int getIndex(int amt) { return pItr.getIndex() - 1 - amt; } @Override protected Object getRow(int amt) throws HiveException { return pItr.lag(amt + 1); } }
/** * UDFUUID. * */ @Description(name = "uuid", value = "_FUNC_() - Returns a universally unique identifier (UUID) string.", extended = "The value is returned as a canonical UUID 36-character string.\n" + "Example:\n" + " > SELECT _FUNC_();\n" + " '0baf1f52-53df-487f-8292-99a03716b688'\n" + " > SELECT _FUNC_();\n" + " '36718a53-84f5-45d6-8796-4f79983ad49d'") @UDFType(deterministic = false) public class UDFUUID extends UDF { private final Text result = new Text(); /** * Returns a universally unique identifier (UUID) string (36 characters). * * @return Text */ public Text evaluate() { result.set(UUID.randomUUID().toString()); return result; } }
@UDFType(impliesOrder = true) public class GenericUDFLead extends GenericUDFLeadLag {
@UDFType(deterministic = true) @Description(name = "unix_timestamp", value = "_FUNC_(date[, pattern]) - Converts the time to a number",
@Description( name = "lag", value = "LAG (scalar_expression [,offset] [,default]) OVER ([query_partition_clause] order_by_clause); " + "The LAG function is used to access data from a previous row.", extended = "Example:\n " + "select p1.p_mfgr, p1.p_name, p1.p_size,\n" + " p1.p_size - lag(p1.p_size,1,p1.p_size) over( distribute by p1.p_mfgr sort by p1.p_name) as deltaSz\n" + " from part p1 join part p2 on p1.p_partkey = p2.p_partkey") @UDFType(impliesOrder = true) public class GenericUDFLag extends GenericUDFLeadLag { @Override protected String _getFnName() { return "lag"; } @Override protected int getIndex(int amt) { return pItr.getIndex() - 1 - amt; } @Override protected Object getRow(int amt) throws HiveException { return pItr.lag(amt + 1); } }
@UDFType(deterministic = false, runtimeConstant = true) @Description(name = "current_schema", value = "_FUNC_() - returns currently used schema(database) name") @NDV(maxNdv = 1) public class GenericUDFCurrentSchema extends GenericUDFCurrentDatabase { @Override public String getDisplayString(String[] children) { return "current_schema()"; } }
/** * UDFUUID. * */ @Description(name = "uuid", value = "_FUNC_() - Returns a universally unique identifier (UUID) string.", extended = "The value is returned as a canonical UUID 36-character string.\n" + "Example:\n" + " > SELECT _FUNC_();\n" + " '0baf1f52-53df-487f-8292-99a03716b688'\n" + " > SELECT _FUNC_();\n" + " '36718a53-84f5-45d6-8796-4f79983ad49d'") @UDFType(deterministic = false) public class UDFUUID extends UDF { private final Text result = new Text(); /** * Returns a universally unique identifier (UUID) string (36 characters). * * @return Text */ public Text evaluate() { result.set(UUID.randomUUID().toString()); return result; } }
@UDFType(impliesOrder = true) public class GenericUDFLead extends GenericUDFLeadLag {
+ " > SELECT _FUNC_(x >= 0) FROM src LIMIT 1;\n" + " NULL") @UDFType(deterministic = false) public class GenericUDFAssertTrue extends GenericUDF { private ObjectInspectorConverters.Converter conditionConverter = null;
@UDFType(deterministic = true) @Description(name = "unix_timestamp", value = "_FUNC_(date[, pattern]) - Converts the time to a number",
@UDFType(deterministic = false, runtimeConstant = true) @Description(name = "current_catalog", value = "_FUNC_() - returns currently used catalog name") @NDV(maxNdv = 1) public class GenericUDFCurrentCatalog extends GenericUDF { @Override public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException { return PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector( TypeInfoFactory.stringTypeInfo, new Text(SessionState.get().getCurrentCatalog())); } @Override public Object evaluate(DeferredObject[] arguments) throws HiveException { return SessionState.get().getCurrentCatalog(); } @Override public String getDisplayString(String[] children) { return "current_catalog()"; } }
@UDFType(deterministic = false, runtimeConstant = true) @Description(name = "current_database", value = "_FUNC_() - returns currently using database name") @NDV(maxNdv = 1) public class GenericUDFCurrentDatabase extends GenericUDF { @Override public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException { return PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector( TypeInfoFactory.stringTypeInfo, new Text(SessionState.get().getCurrentDatabase())); } @Override public Object evaluate(DeferredObject[] arguments) throws HiveException { return SessionState.get().getCurrentDatabase(); } @Override public String getDisplayString(String[] children) { return "current_database()"; } }
@UDFType(deterministic = false) @VectorizedExpressions({FuncRandNoSeed.class, FuncRand.class}) public class UDFRand extends UDF {
@UDFType(deterministic = false, runtimeConstant = true) @Description(name = "current_user", value = "_FUNC_() - Returns current user name", extended = "SessionState UserFromAuthenticator") @NDV(maxNdv = 1)
@UDFType(deterministic = false) @VectorizedExpressions({FuncRandNoSeed.class, FuncRand.class}) public class UDFRand extends UDF {
@UDFType(deterministic = false, runtimeConstant = true) @Description(name = "logged_in_user", value = "_FUNC_() - Returns logged in user name", extended = "SessionState GetUserName - the username provided at session initialization")
@UDFType(deterministic = false, runtimeConstant = true) @Description(name = "current_date", value = "_FUNC_() - Returns the current date at the start of query evaluation."