You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by na...@apache.org on 2009/08/07 18:17:04 UTC
svn commit: r802066 [1/2] - in /hadoop/hive/trunk: ./
ql/src/java/org/apache/hadoop/hive/ql/exec/
ql/src/java/org/apache/hadoop/hive/ql/parse/
ql/src/java/org/apache/hadoop/hive/ql/plan/
ql/src/java/org/apache/hadoop/hive/ql/udf/ ql/src/java/org/apache...
Author: namit
Date: Fri Aug 7 16:17:01 2009
New Revision: 802066
URL: http://svn.apache.org/viewvc?rev=802066&view=rev
Log:
HIVE-691. show documentation for functions. (Emil Ibrishimov via namit)
Added:
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/description.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/descFunctionDesc.java
hadoop/hive/trunk/ql/src/test/queries/clientpositive/describe_function.q
hadoop/hive/trunk/ql/src/test/results/clientpositive/describe_function.q.out
Modified:
hadoop/hive/trunk/CHANGES.txt
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAbs.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAcos.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAscii.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAsin.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBin.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFCeil.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFConcat.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFConv.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFCos.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDate.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateAdd.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateSub.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDayOfMonth.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFExp.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFFloor.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFFromUnixTime.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLTrim.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLength.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLn.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog10.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog2.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLower.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLpad.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFMonth.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPAnd.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitAnd.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitNot.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitOr.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitXor.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPDivide.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqual.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqualOrGreaterThan.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqualOrLessThan.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPGreaterThan.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPLessThan.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMinus.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMod.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMultiply.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNegative.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNot.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNotEqual.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPOr.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPPlus.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPPositive.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFParseUrl.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFPosMod.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFPower.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRTrim.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRand.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRegExp.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRegExpExtract.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRegExpReplace.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRepeat.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFReverse.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRound.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRpad.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSin.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSpace.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSqrt.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSubstr.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFTrim.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnixTimeStamp.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUpper.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFYear.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFAverage.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCount.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFStd.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFStdSample.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFVariance.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFVarianceSample.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCoalesce.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFElt.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFHash.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFIndex.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFInstr.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLocate.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPNotNull.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPNull.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSize.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSplit.java
Modified: hadoop/hive/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/CHANGES.txt?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/CHANGES.txt (original)
+++ hadoop/hive/trunk/CHANGES.txt Fri Aug 7 16:17:01 2009
@@ -120,6 +120,8 @@
HIVE-729. Make AS in select list optional. (Zheng Shao via namit)
+ HIVE-691. show documentation for functions. (Emil Ibrishimov via namit)
+
IMPROVEMENTS
HIVE-389. Option to build without ivy (jssarma)
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java Fri Aug 7 16:17:01 2009
@@ -29,8 +29,8 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.SortedSet;
import java.util.Set;
+import java.util.SortedSet;
import java.util.TreeSet;
import java.util.Map.Entry;
@@ -45,7 +45,6 @@
import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
import org.apache.hadoop.hive.metastore.api.Order;
import org.apache.hadoop.hive.metastore.api.StorageDescriptor;
-import org.apache.hadoop.hive.ql.exec.FunctionRegistry;
import org.apache.hadoop.hive.ql.metadata.CheckResult;
import org.apache.hadoop.hive.ql.metadata.Hive;
import org.apache.hadoop.hive.ql.metadata.HiveException;
@@ -59,19 +58,20 @@
import org.apache.hadoop.hive.ql.plan.alterTableDesc;
import org.apache.hadoop.hive.ql.plan.createTableDesc;
import org.apache.hadoop.hive.ql.plan.createTableLikeDesc;
+import org.apache.hadoop.hive.ql.plan.descFunctionDesc;
import org.apache.hadoop.hive.ql.plan.descTableDesc;
import org.apache.hadoop.hive.ql.plan.dropTableDesc;
+import org.apache.hadoop.hive.ql.plan.showFunctionsDesc;
import org.apache.hadoop.hive.ql.plan.showPartitionsDesc;
import org.apache.hadoop.hive.ql.plan.showTablesDesc;
-import org.apache.hadoop.hive.ql.plan.showFunctionsDesc;
import org.apache.hadoop.hive.serde.Constants;
+import org.apache.hadoop.hive.serde2.Deserializer;
import org.apache.hadoop.hive.serde2.MetadataTypedColumnsetSerDe;
+import org.apache.hadoop.hive.serde2.SerDeException;
+import org.apache.hadoop.hive.serde2.SerDeUtils;
import org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe;
import org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe;
import org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe;
-import org.apache.hadoop.hive.serde2.Deserializer;
-import org.apache.hadoop.hive.serde2.SerDeUtils;
-import org.apache.hadoop.hive.serde2.SerDeException;
import org.apache.hadoop.util.StringUtils;
/**
@@ -132,6 +132,11 @@
if (descTbl != null) {
return describeTable(db, descTbl);
}
+
+ descFunctionDesc descFunc = work.getDescFunctionDesc();
+ if (descFunc != null) {
+ return describeFunction(descFunc);
+ }
showTablesDesc showTbls = work.getShowTblsDesc();
if (showTbls != null) {
@@ -415,6 +420,55 @@
}
/**
+ * Shows a description of a function.
+ *
+ * @param descFunc is the function we are describing
+ * @throws HiveException
+ */
+ private int describeFunction(descFunctionDesc descFunc)
+ throws HiveException {
+ String name = descFunc.getName();
+
+ // write the results in the file
+ try {
+ FileSystem fs = descFunc.getResFile().getFileSystem(conf);
+ DataOutput outStream = (DataOutput)fs.create(descFunc.getResFile());
+
+ // get the function documentation
+ description desc = null;
+ FunctionInfo fi = FunctionRegistry.getFunctionInfo(name);
+ if(fi.getUDFClass() != null) {
+ desc = fi.getUDFClass().getAnnotation(description.class);
+ } else if(fi.getGenericUDFClass() != null) {
+ desc = fi.getGenericUDFClass().getAnnotation(description.class);
+ }
+
+ if (desc != null) {
+ outStream.writeBytes(desc.value().replace("_FUNC_", name));
+ if(descFunc.isExtended() && desc.extended().length()>0) {
+ outStream.writeBytes("\n"+desc.extended().replace("_FUNC_", name));
+ }
+ } else {
+ outStream.writeBytes("Function " + name + " does not exist or cannot" +
+ " find documentation for it.");
+ }
+
+ outStream.write(terminator);
+
+ ((FSDataOutputStream)outStream).close();
+ } catch (FileNotFoundException e) {
+ LOG.warn("describe function: " + StringUtils.stringifyException(e));
+ return 1;
+ } catch (IOException e) {
+ LOG.warn("describe function: " + StringUtils.stringifyException(e));
+ return 1;
+ } catch (Exception e) {
+ throw new HiveException(e.toString());
+ }
+ return 0;
+ }
+
+ /**
* Write the description of a table to a file.
*
* @param db The database in question.
Added: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/description.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/description.java?rev=802066&view=auto
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/description.java (added)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/description.java Fri Aug 7 16:17:01 2009
@@ -0,0 +1,29 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.exec;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface description {
+ String value() default "_FUNC_ is undocumented";
+ String extended() default "";
+ String name() default "";
+}
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java Fri Aug 7 16:17:01 2009
@@ -18,6 +18,7 @@
package org.apache.hadoop.hive.ql.parse;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -32,42 +33,40 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.common.JavaUtils;
+import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.metastore.MetaStoreUtils;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
import org.apache.hadoop.hive.metastore.api.Order;
-import org.apache.hadoop.hive.ql.Context;
+import org.apache.hadoop.hive.ql.exec.Task;
import org.apache.hadoop.hive.ql.exec.TaskFactory;
-import org.apache.hadoop.hive.ql.plan.AddPartitionDesc;
-import org.apache.hadoop.hive.ql.plan.MsckDesc;
import org.apache.hadoop.hive.ql.io.HiveFileFormatUtils;
import org.apache.hadoop.hive.ql.io.HiveOutputFormat;
import org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat;
import org.apache.hadoop.hive.ql.io.RCFileInputFormat;
import org.apache.hadoop.hive.ql.io.RCFileOutputFormat;
+import org.apache.hadoop.hive.ql.plan.AddPartitionDesc;
import org.apache.hadoop.hive.ql.plan.DDLWork;
+import org.apache.hadoop.hive.ql.plan.MsckDesc;
import org.apache.hadoop.hive.ql.plan.alterTableDesc;
import org.apache.hadoop.hive.ql.plan.createTableDesc;
import org.apache.hadoop.hive.ql.plan.createTableLikeDesc;
+import org.apache.hadoop.hive.ql.plan.descFunctionDesc;
import org.apache.hadoop.hive.ql.plan.descTableDesc;
import org.apache.hadoop.hive.ql.plan.dropTableDesc;
+import org.apache.hadoop.hive.ql.plan.fetchWork;
+import org.apache.hadoop.hive.ql.plan.showFunctionsDesc;
import org.apache.hadoop.hive.ql.plan.showPartitionsDesc;
import org.apache.hadoop.hive.ql.plan.showTablesDesc;
-import org.apache.hadoop.hive.ql.plan.showFunctionsDesc;
+import org.apache.hadoop.hive.ql.plan.tableDesc;
import org.apache.hadoop.hive.ql.plan.alterTableDesc.alterTableTypes;
import org.apache.hadoop.hive.serde.Constants;
import org.apache.hadoop.hive.serde2.SerDeUtils;
-import org.apache.hadoop.hive.ql.plan.fetchWork;
-import org.apache.hadoop.hive.ql.plan.tableDesc;
import org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe;
-import org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe;
import org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe;
-import org.apache.hadoop.mapred.TextInputFormat;
-import org.apache.hadoop.hive.ql.exec.Task;
-import java.io.Serializable;
import org.apache.hadoop.mapred.SequenceFileInputFormat;
import org.apache.hadoop.mapred.SequenceFileOutputFormat;
+import org.apache.hadoop.mapred.TextInputFormat;
public class DDLSemanticAnalyzer extends BaseSemanticAnalyzer {
private static final Log LOG = LogFactory.getLog("hive.ql.parse.DDLSemanticAnalyzer");
@@ -120,6 +119,9 @@
} else if (ast.getToken().getType() == HiveParser.TOK_SHOWFUNCTIONS) {
ctx.setResFile(new Path(ctx.getLocalTmpFileURI()));
analyzeShowFunctions(ast);
+ } else if (ast.getToken().getType() == HiveParser.TOK_DESCFUNCTION) {
+ ctx.setResFile(new Path(ctx.getLocalTmpFileURI()));
+ analyzeDescFunction(ast);
} else if (ast.getToken().getType() == HiveParser.TOK_MSCK) {
ctx.setResFile(new Path(ctx.getLocalTmpFileURI()));
analyzeMetastoreCheck(ast);
@@ -594,6 +596,33 @@
rootTasks.add(TaskFactory.get(new DDLWork(showFuncsDesc), conf));
setFetchTask(createFetchTask(showFuncsDesc.getSchema()));
}
+
+ /**
+ * Add the task according to the parsed command tree.
+ * This is used for the CLI command "DESCRIBE FUNCTION;".
+ * @param ast The parsed command tree.
+ * @throws SemanticException Parsing failed
+ */
+ private void analyzeDescFunction(ASTNode ast)
+ throws SemanticException {
+ String funcName;
+ boolean isExtended;
+
+ if(ast.getChildCount() == 1) {
+ funcName = ast.getChild(0).getText();
+ isExtended = false;
+ } else if(ast.getChildCount() == 2) {
+ funcName = ast.getChild(0).getText();
+ isExtended = true;
+ } else {
+ throw new SemanticException("Unexpected Tokens at DESCRIBE FUNCTION");
+ }
+
+ descFunctionDesc descFuncDesc = new descFunctionDesc(ctx.getResFile(),
+ funcName, isExtended);
+ rootTasks.add(TaskFactory.get(new DDLWork(descFuncDesc), conf));
+ setFetchTask(createFetchTask(descFuncDesc.getSchema()));
+ }
private void analyzeAlterTableRename(ASTNode ast)
throws SemanticException {
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g Fri Aug 7 16:17:01 2009
@@ -82,6 +82,7 @@
TOK_CREATETABLE;
TOK_LIKETABLE;
TOK_DESCTABLE;
+TOK_DESCFUNCTION;
TOK_ALTERTABLE_RENAME;
TOK_ALTERTABLE_ADDCOLS;
TOK_ALTERTABLE_REPLACECOLS;
@@ -298,7 +299,8 @@
descStatement
@init { msgs.push("describe statement"); }
@after { msgs.pop(); }
- : KW_DESCRIBE (isExtended=KW_EXTENDED)? (parttype=partTypeExpr) -> ^(TOK_DESCTABLE $parttype $isExtended?)
+ : KW_DESCRIBE (isExtended=KW_EXTENDED)? (parttype=partTypeExpr) -> ^(TOK_DESCTABLE $parttype $isExtended?)
+ | KW_DESCRIBE KW_FUNCTION KW_EXTENDED? Identifier -> ^(TOK_DESCFUNCTION Identifier KW_EXTENDED?)
;
showStatement
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java Fri Aug 7 16:17:01 2009
@@ -32,7 +32,8 @@
case HiveParser.TOK_LOAD: return new LoadSemanticAnalyzer(conf);
case HiveParser.TOK_CREATETABLE:
case HiveParser.TOK_DROPTABLE:
- case HiveParser.TOK_DESCTABLE:
+ case HiveParser.TOK_DESCTABLE:
+ case HiveParser.TOK_DESCFUNCTION:
case HiveParser.TOK_MSCK:
case HiveParser.TOK_ALTERTABLE_ADDCOLS:
case HiveParser.TOK_ALTERTABLE_REPLACECOLS:
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java Fri Aug 7 16:17:01 2009
@@ -28,6 +28,7 @@
private alterTableDesc alterTblDesc;
private showTablesDesc showTblsDesc;
private showFunctionsDesc showFuncsDesc;
+ private descFunctionDesc descFunctionDesc;
private showPartitionsDesc showPartsDesc;
private descTableDesc descTblDesc;
private AddPartitionDesc addPartitionDesc;
@@ -83,6 +84,13 @@
public DDLWork(showFunctionsDesc showFuncsDesc) {
this.showFuncsDesc = showFuncsDesc;
}
+
+ /**
+ * @param descFuncDesc
+ */
+ public DDLWork(descFunctionDesc descFuncDesc) {
+ this.descFunctionDesc = descFuncDesc;
+ }
/**
* @param showPartsDesc
@@ -185,6 +193,14 @@
public showFunctionsDesc getShowFuncsDesc() {
return showFuncsDesc;
}
+
+ /**
+ * @return the descFuncDesc
+ */
+ @explain(displayName="Show Function Operator")
+ public descFunctionDesc getDescFunctionDesc() {
+ return descFunctionDesc;
+ }
/**
* @param showFuncsDesc the showFuncsDesc to set
@@ -192,6 +208,13 @@
public void setShowFuncsDesc(showFunctionsDesc showFuncsDesc) {
this.showFuncsDesc = showFuncsDesc;
}
+
+ /**
+ * @param showFuncsDesc the showFuncsDesc to set
+ */
+ public void setDescFuncDesc(descFunctionDesc descFuncDesc) {
+ this.descFunctionDesc = descFuncDesc;
+ }
/**
* @return the showPartsDesc
Added: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/descFunctionDesc.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/descFunctionDesc.java?rev=802066&view=auto
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/descFunctionDesc.java (added)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/descFunctionDesc.java Fri Aug 7 16:17:01 2009
@@ -0,0 +1,106 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.plan;
+
+import java.io.Serializable;
+import org.apache.hadoop.fs.Path;
+
+@explain(displayName="Describe Function")
+public class descFunctionDesc extends ddlDesc implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+ String name;
+ Path resFile;
+ boolean isExtended;
+
+ public boolean isExtended() {
+ return isExtended;
+ }
+
+ public void setExtended(boolean isExtended) {
+ this.isExtended = isExtended;
+ }
+
+ /**
+ * table name for the result of show tables
+ */
+ private final String table = "show";
+ /**
+ * thrift ddl for the result of show tables
+ */
+ private final String schema = "tab_name#string";
+
+ public String getTable() {
+ return table;
+ }
+
+ public String getSchema() {
+ return schema;
+ }
+
+ /**
+ * @param resFile
+ */
+ public descFunctionDesc(Path resFile) {
+ this.resFile = resFile;
+ name = null;
+ }
+
+ /**
+ * @param name of the function to describe
+ */
+ public descFunctionDesc(Path resFile, String name, boolean isExtended) {
+ this.isExtended = isExtended;
+ this.resFile = resFile;
+ this.name = name;
+ }
+
+ /**
+ * @return the name
+ */
+ @explain(displayName="name")
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name is the function name
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * @return the resFile
+ */
+ public Path getResFile() {
+ return resFile;
+ }
+
+ @explain(displayName="result file", normalExplain=false)
+ public String getResFileString() {
+ return getResFile().getName();
+ }
+ /**
+ * @param resFile the resFile to set
+ */
+ public void setResFile(Path resFile) {
+ this.resFile = resFile;
+ }
+}
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAbs.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAbs.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAbs.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAbs.java Fri Aug 7 16:17:01 2009
@@ -19,10 +19,20 @@
package org.apache.hadoop.hive.ql.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
-import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.io.LongWritable;
+@description(
+ name = "abs",
+ value = "_FUNC_(x) - returns the absolute value of x",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_(0) FROM src LIMIT 1;\n" +
+ " 0\n" +
+ " > SELECT _FUNC_(-5) FROM src LIMIT 1;\n" +
+ " 5"
+ )
public class UDFAbs extends UDF {
private DoubleWritable resultDouble = new DoubleWritable();
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAcos.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAcos.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAcos.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAcos.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,19 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
-
+@description(
+ name = "acos",
+ value = "_FUNC_(x) - returns the arc cosine of x if -1<=x<=1 or " +
+ "NULL otherwise",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_(1) FROM src LIMIT 1;\n" +
+ " 0\n" +
+ " > SELECT _FUNC_(2) FROM src LIMIT 1;\n" +
+ " NULL"
+ )
public class UDFAcos extends UDF {
private static Log LOG = LogFactory.getLog(UDFAcos.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAscii.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAscii.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAscii.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAscii.java Fri Aug 7 16:17:01 2009
@@ -19,9 +19,21 @@
package org.apache.hadoop.hive.ql.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
+@description(
+ name = "ascii",
+ value = "_FUNC_(str) - returns the numeric value of the first character" +
+ " of str",
+ extended = "Returns 0 if str is empty or NULL if str is NULL\n" +
+ "Example:\n" +
+ " > SELECT _FUNC_('222') FROM src LIMIT 1;" +
+ " 50\n" +
+ " > SELECT _FUNC_(2) FROM src LIMIT 1;\n" +
+ " 50"
+ )
public class UDFAscii extends UDF {
private IntWritable result = new IntWritable();
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAsin.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAsin.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAsin.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAsin.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,18 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
-
+@description(
+ name = "asin",
+ value = "_FUNC_(x) - returns the arc sine of x if -1<=x<=1 or NULL otherwise",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_(0) FROM src LIMIT 1;\n" +
+ " 0\n" +
+ " > SELECT _FUNC_(2) FROM src LIMIT 1;\n" +
+ " NULL"
+ )
public class UDFAsin extends UDF {
private static Log LOG = LogFactory.getLog(UDFAsin.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBin.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBin.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBin.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBin.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,18 @@
import java.util.Arrays;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
+@description(
+ name = "bin",
+ value = "_FUNC_(n) - returns n in binary",
+ extended = "n is a BIGINT. Returns NULL if n is NULL.\n" +
+ "Example:\n" +
+ " > SELECT _FUNC_(13) FROM src LIMIT 1\n" +
+ " '1101'"
+ )
public class UDFBin extends UDF {
private Text result = new Text();
byte[] value = new byte[64];
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFCeil.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFCeil.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFCeil.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFCeil.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,19 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.io.LongWritable;
+@description(
+ name = "ceil,ceiling",
+ value = "_FUNC_(x) - Find the smallest integer not smaller than x",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_(-0.1) FROM src LIMIT 1;\n" +
+ " 0\n" +
+ " > SELECT _FUNC_(5) FROM src LIMIT 1;\n" +
+ " 5"
+ )
public class UDFCeil extends UDF {
private static Log LOG = LogFactory.getLog(UDFCeil.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFConcat.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFConcat.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFConcat.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFConcat.java Fri Aug 7 16:17:01 2009
@@ -19,9 +19,17 @@
package org.apache.hadoop.hive.ql.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "concat",
+ value = "_FUNC_(str1, str2) - returns the concatenation of str1 and str2",
+ extended = "Returns NULL if any argument is NULL.\n" +
+ "Example:\n" +
+ " > SELECT _FUNC_('abc', 'def') FROM src LIMIT 1;\n" +
+ " 'abcdef'"
+ )
public class UDFConcat extends UDF {
public UDFConcat() {
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFConv.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFConv.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFConv.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFConv.java Fri Aug 7 16:17:01 2009
@@ -20,10 +20,23 @@
import java.util.Arrays;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
+@description(
+ name = "conv",
+ value="_FUNC_(num, from_base, to_base) - convert num from from_base to" +
+ " to_base",
+ extended="If to_base is negative, treat num as a signed integer," +
+ "otherwise, treat it as an unsigned integer.\n" +
+ "Example:\n" +
+ " > SELECT _FUNC_('100', 2, 10) FROM src LIMIT 1;\n" +
+ " '4'\n" +
+ " > SELECT _FUNC_(-10, 16, -10) FROM src LIMIT 1;\n" +
+ " '16'"
+ )
public class UDFConv extends UDF {
private Text result = new Text();
private byte[] value = new byte[64];
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFCos.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFCos.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFCos.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFCos.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,16 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
-
+@description(
+ name = "cos",
+ value = "_FUNC_(x) - returns the cosine of x (x is in radians)",
+ extended = "Example:\n " +
+ " > SELECT _FUNC_(0) FROM src LIMIT 1;\n" +
+ " 1"
+ )
public class UDFCos extends UDF {
private static Log LOG = LogFactory.getLog(UDFCos.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDate.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDate.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDate.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDate.java Fri Aug 7 16:17:01 2009
@@ -26,9 +26,17 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "to_date",
+ value = "_FUNC_(expr) - Extracts the date part of the date or datetime " +
+ "expression expr",
+ extended = "Example:\n " +
+ " > SELECT _FUNC_('2009-30-07 04:17:52') FROM src LIMIT 1;\n" +
+ " '2009-30-07'"
+ )
public class UDFDate extends UDF {
private static Log LOG = LogFactory.getLog(UDFDate.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateAdd.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateAdd.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateAdd.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateAdd.java Fri Aug 7 16:17:01 2009
@@ -27,10 +27,21 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "date_add",
+ value = "_FUNC_(start_date, num_days) - Returns the date that is num_days" +
+ " after start_date.",
+ extended = "start_date is a string in the format 'yyyy-MM-dd HH:mm:ss' or" +
+ " 'yyyy-MM-dd'. num_days is a number. The time part of start_date is " +
+ "ignored.\n" +
+ "Example:\n " +
+ " > SELECT _FUNC_('2009-30-07', 1) FROM src LIMIT 1;\n" +
+ " '2009-31-07'"
+ )
public class UDFDateAdd extends UDF {
private static Log LOG = LogFactory.getLog(UDFDateAdd.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java Fri Aug 7 16:17:01 2009
@@ -25,10 +25,21 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "datediff",
+ value = "_FUNC_(date1, date2) - Returns the number of days between date1 " +
+ "and date2",
+ extended = "date1 and date2 are strings in the format " +
+ "'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd'. The time parts are ignored." +
+ "If date1 is earlier than date2, the result is negative.\n" +
+ "Example:\n " +
+ " > SELECT _FUNC_('2009-30-07', '2009-31-07') FROM src LIMIT 1;\n" +
+ " 1"
+ )
public class UDFDateDiff extends UDF {
private static Log LOG = LogFactory.getLog(UDFDateDiff.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateSub.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateSub.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateSub.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateSub.java Fri Aug 7 16:17:01 2009
@@ -27,10 +27,21 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "date_sub",
+ value = "_FUNC_(start_date, num_days) - Returns the date that is num_days" +
+ " before start_date.",
+ extended = "start_date is a string in the format 'yyyy-MM-dd HH:mm:ss' or" +
+ " 'yyyy-MM-dd'. num_days is a number. The time part of start_date is " +
+ "ignored.\n" +
+ "Example:\n " +
+ " > SELECT _FUNC_('2009-30-07', 1) FROM src LIMIT 1;\n" +
+ " '2009-29-07'"
+ )
public class UDFDateSub extends UDF {
private static Log LOG = LogFactory.getLog(UDFDateSub.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDayOfMonth.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDayOfMonth.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDayOfMonth.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDayOfMonth.java Fri Aug 7 16:17:01 2009
@@ -26,10 +26,19 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "day,dayofmonth",
+ value = "_FUNC_(date) - Returns the date of the month of date",
+ extended = "date is a string in the format of 'yyyy-MM-dd HH:mm:ss' or " +
+ "'yyyy-MM-dd'.\n" +
+ "Example:\n " +
+ " > SELECT _FUNC_('2009-30-07', 1) FROM src LIMIT 1;\n" +
+ " 30"
+ )
public class UDFDayOfMonth extends UDF {
private static Log LOG = LogFactory.getLog(UDFDayOfMonth.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFExp.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFExp.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFExp.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFExp.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,16 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
-
+@description(
+ name = "exp",
+ value = "_FUNC_(x) - Returns e to the power of x",
+ extended = "Example:\n " +
+ " > SELECT _FUNC_(0) FROM src LIMIT 1;\n" +
+ " 1"
+ )
public class UDFExp extends UDF {
private static Log LOG = LogFactory.getLog(UDFExp.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFFloor.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFFloor.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFFloor.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFFloor.java Fri Aug 7 16:17:01 2009
@@ -21,10 +21,19 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.io.LongWritable;
-
+@description(
+ name = "floor",
+ value = "_FUNC_(x) - Find the largest integer not greater than x",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_(-0.1) FROM src LIMIT 1;\n" +
+ " -1\n" +
+ " > SELECT _FUNC_(5) FROM src LIMIT 1;\n" +
+ " 5"
+ )
public class UDFFloor extends UDF {
private static Log LOG = LogFactory.getLog(UDFFloor.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFFromUnixTime.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFFromUnixTime.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFFromUnixTime.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFFromUnixTime.java Fri Aug 7 16:17:01 2009
@@ -24,10 +24,18 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "from_unixtime",
+ value = "_FUNC_(unix_time, format) - returns unix_time in the specified " +
+ "format",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_(0, 'yyyy-MM-dd HH:mm:ss') FROM src LIMIT 1;\n" +
+ " '1970-01-01 00:00:00'"
+ )
public class UDFFromUnixTime extends UDF {
private static Log LOG = LogFactory.getLog(UDFFromUnixTime.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java Fri Aug 7 16:17:01 2009
@@ -19,10 +19,22 @@
package org.apache.hadoop.hive.ql.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "hex",
+ value = "_FUNC_(n or str) - Convert the argument to hexadecimal ",
+ extended = "If the argument is a string, returns two hex digits for each " +
+ "character in the string.\n" +
+ "If the argument is a number, returns the hexadecimal representation.\n" +
+ "Example:\n" +
+ " > SELECT _FUNC_(17) FROM src LIMIT 1;\n" +
+ " 'H1'\n" +
+ " > SELECT _FUNC_('Facebook') FROM src LIMIT 1;\n" +
+ " '46616365626F6F6B'"
+ )
public class UDFHex extends UDF {
private Text result = new Text();
byte[] value = new byte[16];
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java Fri Aug 7 16:17:01 2009
@@ -31,9 +31,29 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "get_json_object",
+ value = "_FUNC_(json_txt, path) - Extract a json object from path ",
+ extended = "Extract json object from a json string based on json path " +
+ "specified, and return json string of the extracted json object. It " +
+ "will return null if the input json string is invalid.\n" +
+ "A limited version of JSONPath supported:\n" +
+ " $ : Root object\n" +
+ " . : Child operator\n" +
+ " [] : Subscript operator for array\n" +
+ " * : Wildcard for []\n" +
+ "Syntax not supported that's worth noticing:\n" +
+ " '' : Zero length string as key\n" +
+ " .. : Recursive descent\n" +
+ " &#064; : Current object/element\n" +
+ " () : Script expression\n" +
+ " ?() : Filter (script) expression.\n" +
+ " [,] : Union operator\n" +
+ " [start:end:step] : array slice operator\n"
+ )
public class UDFJson extends UDF {
private static Log LOG = LogFactory.getLog(UDFJson.class.getName());
private Pattern pattern_key = Pattern.compile("^([a-zA-Z0-9_\\-]+).*");
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLTrim.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLTrim.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLTrim.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLTrim.java Fri Aug 7 16:17:01 2009
@@ -19,12 +19,20 @@
package org.apache.hadoop.hive.ql.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.Text;
import org.apache.commons.lang.StringUtils;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
+@description(
+ name = "ltrim",
+ value = "_FUNC_(str) - Removes the leading space characters from str ",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_(' facebook') FROM src LIMIT 1;\n" +
+ " 'facebook'"
+ )
public class UDFLTrim extends UDF {
Text result = new Text();
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLength.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLength.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLength.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLength.java Fri Aug 7 16:17:01 2009
@@ -18,10 +18,18 @@
package org.apache.hadoop.hive.ql.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDFUtils;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
+@description(
+ name = "length",
+ value = "_FUNC_(str) - Returns the length of str ",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_('Facebook') FROM src LIMIT 1;\n" +
+ " 8"
+ )
public class UDFLength extends UDF {
private IntWritable result = new IntWritable();
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java Fri Aug 7 16:17:01 2009
@@ -21,12 +21,20 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.BooleanWritable;
import org.apache.hadoop.io.Text;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
+@description(
+ name = "like",
+ value = "_FUNC_(str, pattern) - Checks if str matches pattern",
+ extended = "Example:\n" +
+ " > SELECT a.* FROM srcpart a WHERE a.hr _FUNC_ '%2' LIMIT 1;\n" +
+ " 27 val_27 2008-04-08 12"
+ )
public class UDFLike extends UDF {
private static Log LOG = LogFactory.getLog(UDFLike.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLn.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLn.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLn.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLn.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,16 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
-
+@description(
+ name = "ln",
+ value = "_FUNC_(x) - Returns the natural logarithm of x",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_(1) FROM src LIMIT 1;\n" +
+ " 0"
+ )
public class UDFLn extends UDF {
private static Log LOG = LogFactory.getLog(UDFLn.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,16 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
-
+@description(
+ name = "log",
+ value = "_FUNC_([b], x) - Returns the logarithm of x with base b",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_(13, 13) FROM src LIMIT 1;\n" +
+ " 1"
+ )
public class UDFLog extends UDF {
private static Log LOG = LogFactory.getLog(UDFLog.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog10.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog10.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog10.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog10.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,16 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
-
+@description(
+ name = "log10",
+ value = "_FUNC_(x) - Returns the logarithm of x with base 10",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_(10) FROM src LIMIT 1;\n" +
+ " 1"
+ )
public class UDFLog10 extends UDF {
private static Log LOG = LogFactory.getLog(UDFLog10.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog2.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog2.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog2.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog2.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,16 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
-
+@description(
+ name = "log2",
+ value = "_FUNC_(x) - Returns the logarithm of x with base 2",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_(2) FROM src LIMIT 1;\n" +
+ " 1"
+ )
public class UDFLog2 extends UDF {
private static Log LOG = LogFactory.getLog(UDFLog2.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLower.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLower.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLower.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLower.java Fri Aug 7 16:17:01 2009
@@ -19,11 +19,19 @@
package org.apache.hadoop.hive.ql.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.Text;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
+@description(
+ name = "lower,lcase",
+ value = "_FUNC_(str) - Returns str with all characters changed to lowercase",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_('Facebook') FROM src LIMIT 1;\n" +
+ " 'facebook'"
+ )
public class UDFLower extends UDF {
Text t = new Text();
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLpad.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLpad.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLpad.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLpad.java Fri Aug 7 16:17:01 2009
@@ -19,9 +19,22 @@
package org.apache.hadoop.hive.ql.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
+@description(
+ name = "lpad",
+ value = "_FUNC_(str, len, pad) - Returns str, left-padded with pad to a " +
+ "length of len",
+ extended = "If str is longer than len, the return value is shortened to " +
+ "len characters.\n" +
+ "Example:\n" +
+ " > SELECT _FUNC_('hi', 5, '??') FROM src LIMIT 1;\n" +
+ " '???hi'" +
+ " > SELECT _FUNC_('hi', 1, '??') FROM src LIMIT 1;\n" +
+ " 'h'"
+ )
public class UDFLpad extends UDF {
private Text result = new Text();
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFMonth.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFMonth.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFMonth.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFMonth.java Fri Aug 7 16:17:01 2009
@@ -26,10 +26,17 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "month",
+ value = "_FUNC_(date) - Returns the month of date",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_('2009-30-07') FROM src LIMIT 1;\n" +
+ " 7"
+ )
public class UDFMonth extends UDF {
private static Log LOG = LogFactory.getLog(UDFMonth.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPAnd.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPAnd.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPAnd.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPAnd.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,17 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.BooleanWritable;
-
+@description(
+ name = "and,&&",
+ value = "a _FUNC_ b - Logical and",
+ extended = "Example:\n" +
+ " > SELECT * FROM srcpart WHERE src.hr=12 _FUNC_ " +
+ "src.hr='2008-04-08' LIMIT 1;\n" +
+ " 27 val_27 2008-04-08 12"
+)
public class UDFOPAnd extends UDF {
private static Log LOG = LogFactory.getLog("org.apache.hadoop.hive.ql.udf.UDFOPAnd");
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitAnd.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitAnd.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitAnd.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitAnd.java Fri Aug 7 16:17:01 2009
@@ -21,12 +21,19 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
-
+@description(
+ name = "&",
+ value = "a _FUNC_ b - Bitwise and",
+ extended = "Example:\n" +
+ " > SELECT 3 _FUNC_ 5 FROM src LIMIT 1;\n" +
+ " 1"
+)
public class UDFOPBitAnd extends UDFBaseBitOP {
private static Log LOG = LogFactory.getLog(UDFOPBitAnd.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitNot.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitNot.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitNot.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitNot.java Fri Aug 7 16:17:01 2009
@@ -21,12 +21,19 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
-
+@description(
+ name = "~",
+ value = "_FUNC_ n - Bitwise not",
+ extended = "Example:\n" +
+ " > SELECT _FUNC_ 0 FROM src LIMIT 1;\n" +
+ " -1"
+)
public class UDFOPBitNot extends UDFBaseBitOP {
private static Log LOG = LogFactory.getLog(UDFOPBitNot.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitOr.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitOr.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitOr.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitOr.java Fri Aug 7 16:17:01 2009
@@ -20,12 +20,19 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
-
+@description(
+ name = "|",
+ value = "a _FUNC_ b - Bitwise or",
+ extended = "Example:\n" +
+ " > SELECT 3 _FUNC_ 5 FROM src LIMIT 1;\n" +
+ " 7"
+)
public class UDFOPBitOr extends UDFBaseBitOP {
private static Log LOG = LogFactory.getLog("org.apache.hadoop.hive.ql.udf.UDFOPBitOr");
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitXor.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitXor.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitXor.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPBitXor.java Fri Aug 7 16:17:01 2009
@@ -21,12 +21,19 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
-
+@description(
+ name = "^",
+ value = "a _FUNC_ b - Bitwise exclusive or",
+ extended = "Example:\n" +
+ " > SELECT 3 _FUNC_ 5 FROM src LIMIT 1;\n" +
+ " 2"
+)
public class UDFOPBitXor extends UDFBaseBitOP {
private static Log LOG = LogFactory.getLog(UDFOPBitXor.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPDivide.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPDivide.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPDivide.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPDivide.java Fri Aug 7 16:17:01 2009
@@ -21,6 +21,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -28,7 +29,13 @@
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
-
+@description(
+ name = "/",
+ value = "a _FUNC_ b - Divide a by b",
+ extended = "Example:\n" +
+ " > SELECT 10 _FUNC_ 2 FROM src LIMIT 1;\n" +
+ " 5"
+)
public class UDFOPDivide extends UDFBaseNumericOp {
private static Log LOG = LogFactory.getLog("org.apache.hadoop.hive.ql.udf.UDFOPDivide");
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqual.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqual.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqual.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqual.java Fri Aug 7 16:17:01 2009
@@ -20,6 +20,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -34,6 +35,10 @@
* better performance; otherwise a single method that takes (Number a, Number b)
* and use a.doubleValue() == b.doubleValue() is enough.
*/
+@description(
+ name = "=,==",
+ value= "a _FUNC_ b - Returns TRUE if a equals b and false otherwise"
+)
public class UDFOPEqual extends UDFBaseCompare {
private static Log LOG = LogFactory.getLog(UDFOPEqual.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqualOrGreaterThan.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqualOrGreaterThan.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqualOrGreaterThan.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqualOrGreaterThan.java Fri Aug 7 16:17:01 2009
@@ -20,6 +20,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -29,7 +30,10 @@
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = ">=",
+ value = "a _FUNC_ b - Returns TRUE if b is not smaller than a"
+)
public class UDFOPEqualOrGreaterThan extends UDFBaseCompare {
private static Log LOG = LogFactory.getLog(UDFOPEqualOrGreaterThan.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqualOrLessThan.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqualOrLessThan.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqualOrLessThan.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPEqualOrLessThan.java Fri Aug 7 16:17:01 2009
@@ -20,6 +20,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -29,7 +30,10 @@
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "<=",
+ value = "a _FUNC_ b - Returns TRUE if b is not greater than a"
+)
public class UDFOPEqualOrLessThan extends UDFBaseCompare {
private static Log LOG = LogFactory.getLog(UDFOPEqualOrLessThan.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPGreaterThan.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPGreaterThan.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPGreaterThan.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPGreaterThan.java Fri Aug 7 16:17:01 2009
@@ -22,6 +22,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -31,7 +32,10 @@
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = ">",
+ value = "a _FUNC_ b - Returns TRUE if a is greater than b"
+)
public class UDFOPGreaterThan extends UDFBaseCompare {
private static Log LOG = LogFactory.getLog(UDFOPGreaterThan.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPLessThan.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPLessThan.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPLessThan.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPLessThan.java Fri Aug 7 16:17:01 2009
@@ -22,6 +22,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -31,7 +32,10 @@
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "<",
+ value = "a _FUNC_ b - Returns TRUE if a is less than b"
+)
public class UDFOPLessThan extends UDFBaseCompare {
private static Log LOG = LogFactory.getLog(UDFOPLessThan.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMinus.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMinus.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMinus.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMinus.java Fri Aug 7 16:17:01 2009
@@ -20,6 +20,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -27,7 +28,10 @@
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
-
+@description(
+ name = "-",
+ value = "a _FUNC_ b - Returns the difference a-b"
+)
public class UDFOPMinus extends UDFBaseNumericOp {
private static Log LOG = LogFactory.getLog("org.apache.hadoop.hive.ql.udf.UDFOPMinus");
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMod.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMod.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMod.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMod.java Fri Aug 7 16:17:01 2009
@@ -20,6 +20,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -27,7 +28,10 @@
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
-
+@description(
+ name = "%",
+ value = "a _FUNC_ b - Returns the remainder when dividing a by b"
+)
public class UDFOPMod extends UDFBaseNumericOp {
private static Log LOG = LogFactory.getLog("org.apache.hadoop.hive.ql.udf.UDFOPMod");
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMultiply.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMultiply.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMultiply.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPMultiply.java Fri Aug 7 16:17:01 2009
@@ -20,6 +20,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -27,7 +28,10 @@
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
-
+@description(
+ name = "*",
+ value = "a _FUNC_ b - Multiplies a by b"
+)
public class UDFOPMultiply extends UDFBaseNumericOp {
private static Log LOG = LogFactory.getLog("org.apache.hadoop.hive.ql.udf.UDFOPMultiply");
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNegative.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNegative.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNegative.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNegative.java Fri Aug 7 16:17:01 2009
@@ -21,6 +21,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -28,7 +29,10 @@
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
-
+@description(
+ name = "-",
+ value = "_FUNC_ a - Returns -a"
+)
public class UDFOPNegative extends UDFBaseNumericUnaryOp {
private static Log LOG = LogFactory.getLog(UDFOPNegative.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNot.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNot.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNot.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNot.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,13 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.BooleanWritable;
-
+@description(
+ name = "not,!",
+ value = "_FUNC_ a - Logical not"
+)
public class UDFOPNot extends UDF {
private static Log LOG = LogFactory.getLog("org.apache.hadoop.hive.ql.udf.UDFOPNot");
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNotEqual.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNotEqual.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNotEqual.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNotEqual.java Fri Aug 7 16:17:01 2009
@@ -20,6 +20,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -29,7 +30,10 @@
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
-
+@description(
+ name = "<>",
+ value = "a _FUNC_ b - Returns TRUE if a is not equal to b"
+)
public class UDFOPNotEqual extends UDFBaseCompare {
private static Log LOG = LogFactory.getLog(UDFOPNotEqual.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPOr.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPOr.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPOr.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPOr.java Fri Aug 7 16:17:01 2009
@@ -21,9 +21,13 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.io.BooleanWritable;
-
+@description(
+ name = "or,||",
+ value = "a _FUNC_ b - Logical or"
+)
public class UDFOPOr extends UDF {
private static Log LOG = LogFactory.getLog(UDFOPOr.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPPlus.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPPlus.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPPlus.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPPlus.java Fri Aug 7 16:17:01 2009
@@ -20,6 +20,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -37,6 +38,10 @@
* The case of int + double will be handled by implicit type casting using
* UDFRegistry.implicitConvertable method.
*/
+@description(
+ name = "+",
+ value = "a _FUNC_ b - Returns a+b"
+)
public class UDFOPPlus extends UDFBaseNumericOp {
private static Log LOG = LogFactory.getLog("org.apache.hadoop.hive.ql.udf.UDFOPPlus");
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPPositive.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPPositive.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPPositive.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPPositive.java Fri Aug 7 16:17:01 2009
@@ -21,6 +21,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -28,7 +29,10 @@
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
-
+@description(
+ name = "positive",
+ value = "_FUNC_ a - Returns a"
+)
public class UDFOPPositive extends UDFBaseNumericUnaryOp {
private static Log LOG = LogFactory.getLog(UDFOPPositive.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFParseUrl.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFParseUrl.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFParseUrl.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFParseUrl.java Fri Aug 7 16:17:01 2009
@@ -25,6 +25,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.UDF;
+import org.apache.hadoop.hive.ql.exec.description;
@@ -43,6 +44,22 @@
* HOST,PATH,QUERY,REF,PROTOCOL,AUTHORITY,FILE,USERINFO Also you can get a value
* of particular key in QUERY, using syntax QUERY:<KEY_NAME> eg: QUERY:k1.
*/
+@description(
+ name = "parse_url",
+ value = "_FUNC_(url, partToExtract[, key]) - extracts a part from a URL",
+ extended = "Parts: HOST, PATH, QUERY, REF, PROTOCOL, AUTHORITY, FILE, " +
+ "USERINFO\nkey specifies which query to extract\n" +
+ "Example:\n" +
+ " > SELECT _FUNC_('http://facebook.com/path/p1.php?query=1', " +
+ "'HOST') FROM src LIMIT 1;\n" +
+ " 'facebook.com'\n" +
+ " > SELECT _FUNC_('http://facebook.com/path/p1.php?query=1', " +
+ "'QUERY') FROM src LIMIT 1;\n" +
+ " 'query=1'\n" +
+ " > SELECT _FUNC_('http://facebook.com/path/p1.php?query=1', " +
+ "'QUERY', 'query') FROM src LIMIT 1;\n" +
+ " '1'"
+ )
public class UDFParseUrl extends UDF {
private static Log LOG = LogFactory.getLog(UDFParseUrl.class.getName());
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFPosMod.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFPosMod.java?rev=802066&r1=802065&r2=802066&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFPosMod.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFPosMod.java Fri Aug 7 16:17:01 2009
@@ -20,6 +20,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.description;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -34,6 +35,10 @@
* @ See {@link org.apache.hadoop.hive.ql.udf.UDFOPMod}
* @ See {@link org.apache.hadoop.hive.ql.exec.FunctionRegistry}
*/
+@description(
+ name = "pmod",
+ value = "a _FUNC_ b - Compute the positive modulo"
+)
public class UDFPosMod extends UDFBaseNumericOp {
private static Log LOG = LogFactory.getLog("org.apache.hadoop.hive.ql.udf.UDFPosMod");