You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by dh...@apache.org on 2008/11/11 02:50:18 UTC
svn commit: r712905 [33/38] - in /hadoop/core/trunk: ./ src/contrib/hive/
src/contrib/hive/cli/src/java/org/apache/hadoop/hive/cli/
src/contrib/hive/common/src/java/org/apache/hadoop/hive/conf/
src/contrib/hive/conf/ src/contrib/hive/data/files/ src/co...
Modified: hadoop/core/trunk/src/contrib/hive/ql/src/test/results/compiler/plan/union.q.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/ql/src/test/results/compiler/plan/union.q.xml?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/ql/src/test/results/compiler/plan/union.q.xml (original)
+++ hadoop/core/trunk/src/contrib/hive/ql/src/test/results/compiler/plan/union.q.xml Mon Nov 10 17:50:06 2008
@@ -28,7 +28,7 @@
<boolean>true</boolean>
</void>
<void property="sourceDir">
- <string>/tmp/hive-njain/635791418/469963157.10000.insclause-0</string>
+ <string>/tmp/hive-njain/14629339/1349764315.10000.insclause-0</string>
</void>
<void property="targetDir">
<string>../../../../build/contrib/hive/ql/test/data/warehouse/union.out</string>
@@ -55,23 +55,23 @@
<object class="java.util.HashMap">
<void method="put">
<string>null-subquery1:unioninput-subquery1:src</string>
- <object class="org.apache.hadoop.hive.ql.exec.ForwardOperator">
+ <object id="ForwardOperator0" class="org.apache.hadoop.hive.ql.exec.ForwardOperator">
<void property="childOperators">
<object class="java.util.ArrayList">
<void method="add">
- <object class="org.apache.hadoop.hive.ql.exec.FilterOperator">
+ <object id="FilterOperator0" class="org.apache.hadoop.hive.ql.exec.FilterOperator">
<void property="childOperators">
<object class="java.util.ArrayList">
<void method="add">
- <object class="org.apache.hadoop.hive.ql.exec.SelectOperator">
+ <object id="SelectOperator0" class="org.apache.hadoop.hive.ql.exec.SelectOperator">
<void property="childOperators">
<object id="ArrayList0" class="java.util.ArrayList">
<void method="add">
- <object class="org.apache.hadoop.hive.ql.exec.ForwardOperator">
+ <object id="ForwardOperator1" class="org.apache.hadoop.hive.ql.exec.ForwardOperator">
<void property="childOperators">
<object class="java.util.ArrayList">
<void method="add">
- <object class="org.apache.hadoop.hive.ql.exec.SelectOperator">
+ <object id="SelectOperator1" class="org.apache.hadoop.hive.ql.exec.SelectOperator">
<void property="childOperators">
<object class="java.util.ArrayList">
<void method="add">
@@ -79,7 +79,7 @@
<void property="conf">
<object class="org.apache.hadoop.hive.ql.plan.fileSinkDesc">
<void property="dirName">
- <string>/tmp/hive-njain/635791418/469963157.10000.insclause-0</string>
+ <string>/tmp/hive-njain/14629339/1349764315.10000.insclause-0</string>
</void>
<void property="tableInfo">
<object class="org.apache.hadoop.hive.ql.plan.tableDesc">
@@ -95,6 +95,10 @@
<void property="properties">
<object class="java.util.Properties">
<void method="put">
+ <string>columns</string>
+ <string>key,value</string>
+ </void>
+ <void method="put">
<string>serialization.format</string>
<string>1</string>
</void>
@@ -104,6 +108,13 @@
</void>
</object>
</void>
+ <void property="parentOperators">
+ <object class="java.util.ArrayList">
+ <void method="add">
+ <object idref="SelectOperator1"/>
+ </void>
+ </object>
+ </void>
<void property="schema">
<object class="org.apache.hadoop.hive.ql.exec.RowSchema">
<void property="signature">
@@ -166,6 +177,16 @@
</void>
</object>
</void>
+ <void property="selectStar">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </void>
+ <void property="parentOperators">
+ <object class="java.util.ArrayList">
+ <void method="add">
+ <object idref="ForwardOperator1"/>
+ </void>
</object>
</void>
<void property="schema">
@@ -179,6 +200,203 @@
</void>
</object>
</void>
+ <void property="parentOperators">
+ <object class="java.util.ArrayList">
+ <void method="add">
+ <object idref="SelectOperator0"/>
+ </void>
+ <void method="add">
+ <object id="SelectOperator2" class="org.apache.hadoop.hive.ql.exec.SelectOperator">
+ <void property="childOperators">
+ <object idref="ArrayList0"/>
+ </void>
+ <void property="conf">
+ <object class="org.apache.hadoop.hive.ql.plan.selectDesc">
+ <void property="colList">
+ <object class="java.util.ArrayList">
+ <void method="add">
+ <object class="org.apache.hadoop.hive.ql.plan.exprNodeColumnDesc">
+ <void property="column">
+ <string>key</string>
+ </void>
+ <void property="typeInfo">
+ <object idref="PrimitiveTypeInfo0"/>
+ </void>
+ </object>
+ </void>
+ <void method="add">
+ <object class="org.apache.hadoop.hive.ql.plan.exprNodeColumnDesc">
+ <void property="column">
+ <string>value</string>
+ </void>
+ <void property="typeInfo">
+ <object idref="PrimitiveTypeInfo0"/>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ <void property="selectStar">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </void>
+ <void property="parentOperators">
+ <object class="java.util.ArrayList">
+ <void method="add">
+ <object id="FilterOperator1" class="org.apache.hadoop.hive.ql.exec.FilterOperator">
+ <void property="childOperators">
+ <object class="java.util.ArrayList">
+ <void method="add">
+ <object idref="SelectOperator2"/>
+ </void>
+ </object>
+ </void>
+ <void property="conf">
+ <object class="org.apache.hadoop.hive.ql.plan.filterDesc">
+ <void property="predicate">
+ <object class="org.apache.hadoop.hive.ql.plan.exprNodeFuncDesc">
+ <void property="UDFClass">
+ <class>org.apache.hadoop.hive.ql.udf.UDFOPGreaterThan</class>
+ </void>
+ <void property="UDFMethod">
+ <object class="org.apache.hadoop.hive.ql.udf.UDFBaseCompare" method="getMethod">
+ <string>evaluate</string>
+ <array class="java.lang.Class" length="2">
+ <void index="0">
+ <class>java.lang.String</class>
+ </void>
+ <void index="1">
+ <class>java.lang.Number</class>
+ </void>
+ </array>
+ </object>
+ </void>
+ <void property="children">
+ <object class="java.util.ArrayList">
+ <void method="add">
+ <object class="org.apache.hadoop.hive.ql.plan.exprNodeColumnDesc">
+ <void property="column">
+ <string>key</string>
+ </void>
+ <void property="typeInfo">
+ <object idref="PrimitiveTypeInfo0"/>
+ </void>
+ </object>
+ </void>
+ <void method="add">
+ <object class="org.apache.hadoop.hive.ql.plan.exprNodeConstantDesc">
+ <void property="typeInfo">
+ <object id="PrimitiveTypeInfo1" class="org.apache.hadoop.hive.ql.typeinfo.PrimitiveTypeInfo">
+ <void property="primitiveClass">
+ <class>java.lang.Integer</class>
+ </void>
+ </object>
+ </void>
+ <void property="value">
+ <int>100</int>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ <void property="typeInfo">
+ <object id="PrimitiveTypeInfo2" class="org.apache.hadoop.hive.ql.typeinfo.PrimitiveTypeInfo">
+ <void property="primitiveClass">
+ <class>java.lang.Boolean</class>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ <void property="parentOperators">
+ <object class="java.util.ArrayList">
+ <void method="add">
+ <object id="ForwardOperator2" class="org.apache.hadoop.hive.ql.exec.ForwardOperator">
+ <void property="childOperators">
+ <object class="java.util.ArrayList">
+ <void method="add">
+ <object idref="FilterOperator1"/>
+ </void>
+ </object>
+ </void>
+ <void property="schema">
+ <object class="org.apache.hadoop.hive.ql.exec.RowSchema">
+ <void property="signature">
+ <object id="Vector1" class="java.util.Vector">
+ <void method="add">
+ <object class="org.apache.hadoop.hive.ql.exec.ColumnInfo">
+ <void property="internalName">
+ <string>key</string>
+ </void>
+ <void property="type">
+ <object idref="PrimitiveTypeInfo0"/>
+ </void>
+ </object>
+ </void>
+ <void method="add">
+ <object class="org.apache.hadoop.hive.ql.exec.ColumnInfo">
+ <void property="internalName">
+ <string>value</string>
+ </void>
+ <void property="type">
+ <object idref="PrimitiveTypeInfo0"/>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ <void property="schema">
+ <object class="org.apache.hadoop.hive.ql.exec.RowSchema">
+ <void property="signature">
+ <object idref="Vector1"/>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ <void property="schema">
+ <object class="org.apache.hadoop.hive.ql.exec.RowSchema">
+ <void property="signature">
+ <object class="java.util.Vector">
+ <void method="add">
+ <object class="org.apache.hadoop.hive.ql.exec.ColumnInfo">
+ <void property="internalName">
+ <string>0</string>
+ </void>
+ <void property="type">
+ <object idref="PrimitiveTypeInfo0"/>
+ </void>
+ </object>
+ </void>
+ <void method="add">
+ <object class="org.apache.hadoop.hive.ql.exec.ColumnInfo">
+ <void property="internalName">
+ <string>1</string>
+ </void>
+ <void property="type">
+ <object idref="PrimitiveTypeInfo0"/>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
+ </object>
+ </void>
<void property="schema">
<object class="org.apache.hadoop.hive.ql.exec.RowSchema">
<void property="signature">
@@ -239,6 +457,13 @@
</void>
</object>
</void>
+ <void property="parentOperators">
+ <object class="java.util.ArrayList">
+ <void method="add">
+ <object idref="FilterOperator0"/>
+ </void>
+ </object>
+ </void>
<void property="schema">
<object class="org.apache.hadoop.hive.ql.exec.RowSchema">
<void property="signature">
@@ -292,11 +517,7 @@
<void method="add">
<object class="org.apache.hadoop.hive.ql.plan.exprNodeConstantDesc">
<void property="typeInfo">
- <object id="PrimitiveTypeInfo1" class="org.apache.hadoop.hive.ql.typeinfo.PrimitiveTypeInfo">
- <void property="primitiveClass">
- <class>java.lang.Integer</class>
- </void>
- </object>
+ <object idref="PrimitiveTypeInfo1"/>
</void>
<void property="value">
<int>100</int>
@@ -306,179 +527,16 @@
</object>
</void>
<void property="typeInfo">
- <object id="PrimitiveTypeInfo2" class="org.apache.hadoop.hive.ql.typeinfo.PrimitiveTypeInfo">
- <void property="primitiveClass">
- <class>java.lang.Boolean</class>
- </void>
- </object>
- </void>
- </object>
- </void>
- </object>
- </void>
- <void property="schema">
- <object class="org.apache.hadoop.hive.ql.exec.RowSchema">
- <void property="signature">
- <object id="Vector1" class="java.util.Vector">
- <void method="add">
- <object class="org.apache.hadoop.hive.ql.exec.ColumnInfo">
- <void property="internalName">
- <string>key</string>
- </void>
- <void property="type">
- <object idref="PrimitiveTypeInfo0"/>
- </void>
- </object>
- </void>
- <void method="add">
- <object class="org.apache.hadoop.hive.ql.exec.ColumnInfo">
- <void property="internalName">
- <string>value</string>
- </void>
- <void property="type">
- <object idref="PrimitiveTypeInfo0"/>
- </void>
- </object>
+ <object idref="PrimitiveTypeInfo2"/>
</void>
</object>
</void>
</object>
</void>
- </object>
- </void>
- </object>
- </void>
- <void property="schema">
- <object class="org.apache.hadoop.hive.ql.exec.RowSchema">
- <void property="signature">
- <object idref="Vector1"/>
- </void>
- </object>
- </void>
- </object>
- </void>
- <void method="put">
- <string>null-subquery2:unioninput-subquery2:src</string>
- <object class="org.apache.hadoop.hive.ql.exec.ForwardOperator">
- <void property="childOperators">
- <object class="java.util.ArrayList">
- <void method="add">
- <object class="org.apache.hadoop.hive.ql.exec.FilterOperator">
- <void property="childOperators">
+ <void property="parentOperators">
<object class="java.util.ArrayList">
<void method="add">
- <object class="org.apache.hadoop.hive.ql.exec.SelectOperator">
- <void property="childOperators">
- <object idref="ArrayList0"/>
- </void>
- <void property="conf">
- <object class="org.apache.hadoop.hive.ql.plan.selectDesc">
- <void property="colList">
- <object class="java.util.ArrayList">
- <void method="add">
- <object class="org.apache.hadoop.hive.ql.plan.exprNodeColumnDesc">
- <void property="column">
- <string>key</string>
- </void>
- <void property="typeInfo">
- <object idref="PrimitiveTypeInfo0"/>
- </void>
- </object>
- </void>
- <void method="add">
- <object class="org.apache.hadoop.hive.ql.plan.exprNodeColumnDesc">
- <void property="column">
- <string>value</string>
- </void>
- <void property="typeInfo">
- <object idref="PrimitiveTypeInfo0"/>
- </void>
- </object>
- </void>
- </object>
- </void>
- </object>
- </void>
- <void property="schema">
- <object class="org.apache.hadoop.hive.ql.exec.RowSchema">
- <void property="signature">
- <object class="java.util.Vector">
- <void method="add">
- <object class="org.apache.hadoop.hive.ql.exec.ColumnInfo">
- <void property="internalName">
- <string>0</string>
- </void>
- <void property="type">
- <object idref="PrimitiveTypeInfo0"/>
- </void>
- </object>
- </void>
- <void method="add">
- <object class="org.apache.hadoop.hive.ql.exec.ColumnInfo">
- <void property="internalName">
- <string>1</string>
- </void>
- <void property="type">
- <object idref="PrimitiveTypeInfo0"/>
- </void>
- </object>
- </void>
- </object>
- </void>
- </object>
- </void>
- </object>
- </void>
- </object>
- </void>
- <void property="conf">
- <object class="org.apache.hadoop.hive.ql.plan.filterDesc">
- <void property="predicate">
- <object class="org.apache.hadoop.hive.ql.plan.exprNodeFuncDesc">
- <void property="UDFClass">
- <class>org.apache.hadoop.hive.ql.udf.UDFOPGreaterThan</class>
- </void>
- <void property="UDFMethod">
- <object class="org.apache.hadoop.hive.ql.udf.UDFBaseCompare" method="getMethod">
- <string>evaluate</string>
- <array class="java.lang.Class" length="2">
- <void index="0">
- <class>java.lang.String</class>
- </void>
- <void index="1">
- <class>java.lang.Number</class>
- </void>
- </array>
- </object>
- </void>
- <void property="children">
- <object class="java.util.ArrayList">
- <void method="add">
- <object class="org.apache.hadoop.hive.ql.plan.exprNodeColumnDesc">
- <void property="column">
- <string>key</string>
- </void>
- <void property="typeInfo">
- <object idref="PrimitiveTypeInfo0"/>
- </void>
- </object>
- </void>
- <void method="add">
- <object class="org.apache.hadoop.hive.ql.plan.exprNodeConstantDesc">
- <void property="typeInfo">
- <object idref="PrimitiveTypeInfo1"/>
- </void>
- <void property="value">
- <int>100</int>
- </void>
- </object>
- </void>
- </object>
- </void>
- <void property="typeInfo">
- <object idref="PrimitiveTypeInfo2"/>
- </void>
- </object>
+ <object idref="ForwardOperator0"/>
</void>
</object>
</void>
@@ -523,6 +581,10 @@
</void>
</object>
</void>
+ <void method="put">
+ <string>null-subquery2:unioninput-subquery2:src</string>
+ <object idref="ForwardOperator2"/>
+ </void>
</object>
</void>
<void property="pathToAliases">
@@ -608,6 +670,9 @@
</void>
</object>
</void>
+ <void property="tagToValueDesc">
+ <object class="java.util.ArrayList"/>
+ </void>
</object>
</void>
</object>
Added: hadoop/core/trunk/src/contrib/hive/ql/src/test/scripts/testgrep
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/ql/src/test/scripts/testgrep?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/ql/src/test/scripts/testgrep (added)
+++ hadoop/core/trunk/src/contrib/hive/ql/src/test/scripts/testgrep Mon Nov 10 17:50:06 2008
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+egrep '10.*'
+
+exit 0;
Added: hadoop/core/trunk/src/contrib/hive/serde/README
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/README?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/README (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/README Mon Nov 10 17:50:06 2008
@@ -0,0 +1,115 @@
+What is SerDe
+-----------
+SerDe is a short name for Serializer and Deserializer.
+Hive uses SerDe (and FileFormat) to read from/write to tables.
+
+* HDFS files --(InputFileFormat)--> <key, value> --(Deserializer)--> Row object
+* Row object --(Serializer)--> <key, value> --(OutputFileFormat)--> HDFS files
+
+Note that the "key" part is ignored when reading, and is always a constant when
+writing. Basically the row object is only stored into the "value".
+
+One principle of Hive is that Hive does not own the HDFS file format - Users
+should be able to directly read the HDFS files in the Hive tables using other
+tools, or use other tools to directly write to HDFS files that can be read by
+Hive through "CREATE EXTERNAL TABLE", or can be loaded into Hive through "LOAD
+DATA INPATH" which just move the file into Hive table directory.
+
+
+Note that org.apache.hadoop.hive.serde is the deprecated old serde library.
+Please look at org.apache.hadoop.hive.serde2 for the latest version.
+
+
+Existing FileFormats and SerDe classes
+------------------------
+Hive currently use these FileFormats to read/write to files:
+
+* TextInputFormat/NoKeyTextOutputFormat
+ These 2 classes read/write data in plain text file format.
+
+* SequenceFileInputFormat/SequenceFileOutputFormat
+ These 2 classes read/write data in hadoop SequenceFile format.
+
+Hive currently use these SerDe classes to serialize and deserialize data:
+
+* MetadataTypedColumnsetSerDe
+ This serde is used to read/write delimited records like CSV, tab-separated
+ control-A separated records (sorry, quote is not supported yet.)
+
+* ThriftSerDe
+ This serde is used to read/write thrift serialized objects. The class file
+ for the Thrift object must be loaded first.
+
+* DynamicSerDe
+ This serde also read/write thrift serialized objects, but it understands thrift
+ DDL so the schema of the object can be provided at runtime. Also it supports
+ a lot of different protocols, including TBinaryProtocol, TJSONProtocol,
+ TCTLSeparatedProtocol (which writes data in delimited records).
+
+
+
+How to load data into Hive
+------------------------
+In order to load data into Hive, we need to tell Hive the format of the data
+through "CREATE TABLE" statement:
+
+* FileFormat: the data has to be in Text or SequenceFile.
+* Format of the row:
+ * If the data is in delimited format, use MetadataTypedColumnsetSerDe
+ * If the data is in delimited format and has more than 1 levels of delimitor,
+ use DynamicSerDe with TCTLSeparatedProtocol
+ * If the data is a serialized thrift object, use ThriftSerDe
+
+The steps to load the data:
+1 Create a table:
+
+ CREATE TABLE t (foo STRING, bar STRING)
+ ROW FORMAT DELIMITED
+ FIELDS TERMINATED BY '\t'
+ STORED AS TEXTFILE;
+
+ CREATE TABLE t2 (foo STRING, bar ARRAY<STRING>)
+ ROW FORMAT DELIMITED
+ FIELDS TERMINATED BY '\t'
+ COLLECTION ITEMS TERMINATED BY ','
+ STORED AS TEXTFILE;
+
+ CREATE TABLE t3 (foo STRING, bar MAP<STRING,STRING>)
+ ROW FORMAT DELIMITED
+ FIELDS TERMINATED BY '\t'
+ COLLECTION ITEMS TERMINATED BY ','
+ MAP KEYS TERMINATED BY ':'
+ STORED AS TEXTFILE;
+
+ CREATE TABLE t4 (foo STRING, bar MAP<STRING,STRING>)
+ ROW FORMAT SERIALIZER 'org.apache.hadoop.hive.serde2.MetadataTypedColumnsetSerDe'
+ WITH SERDEPROPERTIES ('columns'='foo,bar','SERIALIZATION.FORMAT'='9');
+
+ (RegexDeserializer is not done yet)
+ CREATE TABLE t5 (foo STRING, bar STRING)
+ ROW FORMAT SERIALIZER 'org.apache.hadoop.hive.serde2.RegexDeserializer'
+ WITH SERDEPROPERTIES ('regex'='([a-z]*) *([a-z]*)');
+
+2 Load the data:
+ LOAD DATA LOCAL INPATH '../examples/files/kv1.txt' OVERWRITE INTO TABLE t;
+
+
+
+How to read data from Hive tables
+------------------------
+In order to read data from Hive tables, we need to know the same 2 things:
+* File Format
+* Row Format
+
+Then we just need to directly open the HDFS file and read the data.
+
+
+How to write your own SerDe
+------------------------
+
+In most cases, users want to write a Deserializer instead of a SerDe.
+For example, the RegexDeserializer will deserialize the data using the
+configuration parameter 'regex', and possibly a list of column names (see
+serde2.MetadataTypedColumnsetSerDe).
+
+Please see serde2/Deserializer.java for details.
Modified: hadoop/core/trunk/src/contrib/hive/serde/build.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/build.xml?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/build.xml (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/build.xml Mon Nov 10 17:50:06 2008
@@ -27,21 +27,27 @@
<property name="src.dir" location="${basedir}/src"/>
<import file="../build-common.xml"/>
+
<target name="dynamic-serde" depends="init" if="javacc.home">
- <mkdir dir="${src.dir}/gen-java/org/apache/hadoop/hive/serde2/dynamic_type"/>
+
+<!-- <mkdir dir="${src.dir}/gen-java/org/apache/hadoop/hive/serde2/dynamic_type"/> -->
+ <jjtree buildnodefiles="true"
+ target="${src.dir}/java/org/apache/hadoop/hive/serde2/dynamic_type/thrift_grammar.jjt"
+ outputdirectory="${src.dir}/java/org/apache/hadoop/hive/serde2/dynamic_type"
+ javacchome="${javacc.home}"
+ />
<javacc
- target="${src.dir}/gen-java/org/apache/hadoop/hive/serde2/dynamic_type/thrift_grammar.jj"
- outputdirectory="${src.dir}/gen-java/org/apache/hadoop/hive/serde2/dynamic_type"
+ target="${src.dir}/java/org/apache/hadoop/hive/serde2/dynamic_type/thrift_grammar.jj"
+ outputdirectory="${src.dir}/java/org/apache/hadoop/hive/serde2/dynamic_type"
javacchome="${javacc.home}"
/>
</target>
- <target name="compile" depends="init, dynamic-serde">
+ <target name="compile" depends="init,dynamic-serde">
<echo message="Compiling: ${name}"/>
<javac
encoding="${build.encoding}"
- srcdir="${src.dir}/java:${src.dir}/gen-java"
- includes="**/*.java"
+ srcdir="${src.dir}/java/:${src.dir}/gen-java/"
destdir="${build.classes}"
debug="${javac.debug}"
deprecation="${javac.deprecation}">
Modified: hadoop/core/trunk/src/contrib/hive/serde/if/serde.thrift
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/if/serde.thrift?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/if/serde.thrift (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/if/serde.thrift Mon Nov 10 17:50:06 2008
@@ -9,20 +9,25 @@
const string SERIALIZATION_FORMAT = "serialization.format"
const string SERIALIZATION_DDL = "serialization.ddl"
const string SERIALIZATION_NULL_FORMAT = "serialization.null.format"
+const string SERIALIZATION_LAST_COLUMN_TAKES_REST = "serialization.last.column.takes.rest"
+const string SERIALIZATION_SORT_ORDER = "serialization.sort.order"
const string FIELD_DELIM = "field.delim"
const string COLLECTION_DELIM = "colelction.delim"
const string LINE_DELIM = "line.delim"
const string MAPKEY_DELIM = "mapkey.delim"
+const string QUOTE_CHAR = "quote.delim"
typedef string PrimitiveType
typedef string CollectionType
+const string BOOLEAN_TYPE_NAME = "boolean";
const string TINYINT_TYPE_NAME = "tinyint";
+const string SMALLINT_TYPE_NAME = "smallint";
const string INT_TYPE_NAME = "int";
const string BIGINT_TYPE_NAME = "bigint";
const string FLOAT_TYPE_NAME = "float";
-const string DOUBLE_TYPE_NAME = "double";
+const string DOUBLE_TYPE_NAME = "double";
const string STRING_TYPE_NAME = "string";
const string DATE_TYPE_NAME = "date";
const string DATETIME_TYPE_NAME = "datetime";
@@ -31,7 +36,7 @@
const string LIST_TYPE_NAME = "array";
const string MAP_TYPE_NAME = "map";
-const set<string> PrimitiveTypes = [ TINYINT_TYPE_NAME INT_TYPE_NAME BIGINT_TYPE_NAME FLOAT_TYPE_NAME DOUBLE_TYPE_NAME STRING_TYPE_NAME DATE_TYPE_NAME DATETIME_TYPE_NAME TIMESTAMP_TYPE_NAME ],
+const set<string> PrimitiveTypes = [ BOOLEAN_TYPE_NAME TINYINT_TYPE_NAME SMALLINT_TYPE_NAME INT_TYPE_NAME BIGINT_TYPE_NAME FLOAT_TYPE_NAME DOUBLE_TYPE_NAME STRING_TYPE_NAME DATE_TYPE_NAME DATETIME_TYPE_NAME TIMESTAMP_TYPE_NAME ],
const set<string> CollectionTypes = [ LIST_TYPE_NAME MAP_TYPE_NAME ],
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/gen-java/org/apache/hadoop/hive/serde/Constants.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/gen-java/org/apache/hadoop/hive/serde/Constants.java?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/gen-java/org/apache/hadoop/hive/serde/Constants.java (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/gen-java/org/apache/hadoop/hive/serde/Constants.java Mon Nov 10 17:50:06 2008
@@ -25,6 +25,10 @@
public static final String SERIALIZATION_NULL_FORMAT = "serialization.null.format";
+ public static final String SERIALIZATION_LAST_COLUMN_TAKES_REST = "serialization.last.column.takes.rest";
+
+ public static final String SERIALIZATION_SORT_ORDER = "serialization.sort.order";
+
public static final String FIELD_DELIM = "field.delim";
public static final String COLLECTION_DELIM = "colelction.delim";
@@ -33,8 +37,14 @@
public static final String MAPKEY_DELIM = "mapkey.delim";
+ public static final String QUOTE_CHAR = "quote.delim";
+
+ public static final String BOOLEAN_TYPE_NAME = "boolean";
+
public static final String TINYINT_TYPE_NAME = "tinyint";
+ public static final String SMALLINT_TYPE_NAME = "smallint";
+
public static final String INT_TYPE_NAME = "int";
public static final String BIGINT_TYPE_NAME = "bigint";
@@ -57,7 +67,9 @@
public static final Set<String> PrimitiveTypes = new HashSet<String>();
static {
+ PrimitiveTypes.add("boolean");
PrimitiveTypes.add("tinyint");
+ PrimitiveTypes.add("smallint");
PrimitiveTypes.add("int");
PrimitiveTypes.add("bigint");
PrimitiveTypes.add("float");
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/gen-php/serde_constants.php
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/gen-php/serde_constants.php?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/gen-php/serde_constants.php (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/gen-php/serde_constants.php Mon Nov 10 17:50:06 2008
@@ -16,6 +16,12 @@
$GLOBALS['serde_CONSTANTS']['SERIALIZATION_DDL'] = 'serialization.ddl';
+$GLOBALS['serde_CONSTANTS']['SERIALIZATION_NULL_FORMAT'] = 'serialization.null.format';
+
+$GLOBALS['serde_CONSTANTS']['SERIALIZATION_LAST_COLUMN_TAKES_REST'] = 'serialization.last.column.takes.rest';
+
+$GLOBALS['serde_CONSTANTS']['SERIALIZATION_SORT_ORDER'] = 'serialization.sort.order';
+
$GLOBALS['serde_CONSTANTS']['FIELD_DELIM'] = 'field.delim';
$GLOBALS['serde_CONSTANTS']['COLLECTION_DELIM'] = 'colelction.delim';
@@ -24,8 +30,14 @@
$GLOBALS['serde_CONSTANTS']['MAPKEY_DELIM'] = 'mapkey.delim';
+$GLOBALS['serde_CONSTANTS']['QUOTE_CHAR'] = 'quote.delim';
+
+$GLOBALS['serde_CONSTANTS']['BOOLEAN_TYPE_NAME'] = 'boolean';
+
$GLOBALS['serde_CONSTANTS']['TINYINT_TYPE_NAME'] = 'tinyint';
+$GLOBALS['serde_CONSTANTS']['SMALLINT_TYPE_NAME'] = 'smallint';
+
$GLOBALS['serde_CONSTANTS']['INT_TYPE_NAME'] = 'int';
$GLOBALS['serde_CONSTANTS']['BIGINT_TYPE_NAME'] = 'bigint';
@@ -47,7 +59,9 @@
$GLOBALS['serde_CONSTANTS']['MAP_TYPE_NAME'] = 'map';
$GLOBALS['serde_CONSTANTS']['PrimitiveTypes'] = array(
+ 'boolean' => true,
'tinyint' => true,
+ 'smallint' => true,
'int' => true,
'bigint' => true,
'float' => true,
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/gen-py/org_apache_hadoop_hive_serde/constants.py
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/gen-py/org_apache_hadoop_hive_serde/constants.py?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/gen-py/org_apache_hadoop_hive_serde/constants.py (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/gen-py/org_apache_hadoop_hive_serde/constants.py Mon Nov 10 17:50:06 2008
@@ -15,6 +15,12 @@
SERIALIZATION_DDL = 'serialization.ddl'
+SERIALIZATION_NULL_FORMAT = 'serialization.null.format'
+
+SERIALIZATION_LAST_COLUMN_TAKES_REST = 'serialization.last.column.takes.rest'
+
+SERIALIZATION_SORT_ORDER = 'serialization.sort.order'
+
FIELD_DELIM = 'field.delim'
COLLECTION_DELIM = 'colelction.delim'
@@ -23,8 +29,14 @@
MAPKEY_DELIM = 'mapkey.delim'
+QUOTE_CHAR = 'quote.delim'
+
+BOOLEAN_TYPE_NAME = 'boolean'
+
TINYINT_TYPE_NAME = 'tinyint'
+SMALLINT_TYPE_NAME = 'smallint'
+
INT_TYPE_NAME = 'int'
BIGINT_TYPE_NAME = 'bigint'
@@ -46,7 +58,9 @@
MAP_TYPE_NAME = 'map'
PrimitiveTypes = set([
+ 'boolean',
'tinyint',
+ 'smallint',
'int',
'bigint',
'float',
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde/SerDeUtils.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde/SerDeUtils.java?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde/SerDeUtils.java (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde/SerDeUtils.java Mon Nov 10 17:50:06 2008
@@ -64,7 +64,7 @@
// Eagerly load SerDes so they will register their symbolic names even on Lazy Loading JVMs
try {
// loading these classes will automatically register the short names
- Class.forName(org.apache.hadoop.hive.serde.dynamic_type.DynamicSerDe.class.getName());
+ Class.forName(org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe.class.getName());
Class.forName(org.apache.hadoop.hive.serde.jute.JuteSerDe.class.getName());
Class.forName(org.apache.hadoop.hive.serde.simple_meta.MetadataTypedColumnsetSerDe.class.getName());
Class.forName(org.apache.hadoop.hive.serde.thrift.columnsetSerDe.class.getName());
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde/simple_meta/MetadataTypedColumnsetSerDe.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde/simple_meta/MetadataTypedColumnsetSerDe.java?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde/simple_meta/MetadataTypedColumnsetSerDe.java (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde/simple_meta/MetadataTypedColumnsetSerDe.java Mon Nov 10 17:50:06 2008
@@ -18,17 +18,36 @@
package org.apache.hadoop.hive.serde.simple_meta;
-import org.apache.hadoop.hive.serde.*;
-import org.apache.hadoop.hive.serde.thrift.*;
-import com.facebook.thrift.TException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hive.serde.ByteStreamTypedSerDe;
+import org.apache.hadoop.hive.serde.ColumnSet;
+import org.apache.hadoop.hive.serde.ComplexSerDeField;
+import org.apache.hadoop.hive.serde.Constants;
+import org.apache.hadoop.hive.serde.ExpressionUtils;
+import org.apache.hadoop.hive.serde.ReflectionSerDeField;
+import org.apache.hadoop.hive.serde.SerDe;
+import org.apache.hadoop.hive.serde.SerDeException;
+import org.apache.hadoop.hive.serde.SerDeField;
+import org.apache.hadoop.hive.serde.SerDeUtils;
+import org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe;
+import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.io.Text;
+import org.apache.hadoop.io.Writable;
+import org.apache.hadoop.util.StringUtils;
+
import com.facebook.thrift.TBase;
+import com.facebook.thrift.TException;
import com.facebook.thrift.TSerializer;
-import com.facebook.thrift.protocol.*;
-import com.facebook.thrift.transport.*;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.io.*;
-import java.util.*;
-import java.io.*;
+import com.facebook.thrift.protocol.TBinaryProtocol;
+import com.facebook.thrift.protocol.TProtocol;
+import com.facebook.thrift.protocol.TProtocolFactory;
+import com.facebook.thrift.protocol.TSimpleJSONProtocol;
+import com.facebook.thrift.transport.TIOStreamTransport;
@@ -51,6 +70,18 @@
// stores the columns in order
private String _columns_list[];
+ static {
+ StackTraceElement[] sTrace = new Exception().getStackTrace();
+ String className = sTrace[0].getClassName();
+ try {
+ // For backward compatibility: this class replaces the columnsetSerDe class.
+ SerDeUtils.registerSerDe(DynamicSerDe.class.getName(),
+ Class.forName(className));
+ } catch(Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
public String toString() {
return "MetaDataTypedColumnsetSerDe[" + separator + "," + _columns + "]";
}
@@ -79,7 +110,12 @@
public void initialize(Configuration job, Properties tbl) throws SerDeException {
inStreaming = job.get("hive.streaming.select") != null;
separator = DefaultSeparator;
- String alt_sep = tbl.getProperty(Constants.SERIALIZATION_FORMAT);
+ String alt_sep = null;
+ if(DynamicSerDe.class.getName().equals(tbl.getProperty(Constants.SERIALIZATION_LIB))) {
+ alt_sep = tbl.getProperty(Constants.FIELD_DELIM);
+ } else {
+ alt_sep = tbl.getProperty(Constants.SERIALIZATION_FORMAT);
+ }
if(alt_sep != null && alt_sep.length() > 0) {
try {
byte b [] = new byte[1];
@@ -125,8 +161,13 @@
ColumnSet c = cachedObj;
try {
try {
- Text tw = (Text)field;
- String row = tw.toString();
+ String row = null;
+ if(field instanceof BytesWritable) {
+ row = new String(((BytesWritable) field).get(), 0, ((BytesWritable) field).getSize(), "UTF-8");
+ } else {
+ Text tw = (Text)field;
+ row = tw.toString();
+ }
return(deserialize(c, row, separator, nullString));
} catch (ClassCastException e) {
throw new SerDeException("columnsetSerDe expects Text", e);
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/MetadataTypedColumnsetSerDe.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/MetadataTypedColumnsetSerDe.java?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/MetadataTypedColumnsetSerDe.java (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/MetadataTypedColumnsetSerDe.java Mon Nov 10 17:50:06 2008
@@ -64,6 +64,9 @@
private List<String> columnNames;
private ObjectInspector cachedObjectInspector;
+ private boolean lastColumnTakesRest = false;
+ private int splitLimit = -1;
+
public String toString() {
return "MetaDataTypedColumnsetSerDe[" + separator + "," + columnNames + "]";
}
@@ -103,23 +106,36 @@
if (columnProperty == null || columnProperty.length() == 0
|| columnsetSerDe) {
// Hack for tables with no columns
- // Treat it as a table with a single column called "col"
+ // Treat it as a table with a single column called "col"
cachedObjectInspector = ObjectInspectorFactory.getReflectionObjectInspector(
ColumnSet.class, ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
} else {
columnNames = Arrays.asList(columnProperty.split(","));
cachedObjectInspector = MetadataListStructObjectInspector.getInstance(columnNames);
}
- LOG.debug(getClass().getName() + ": initialized with columnNames: " + columnNames + " and separator code=" + (int)separator.charAt(0) );
+
+ String lastColumnTakesRestString = tbl.getProperty(Constants.SERIALIZATION_LAST_COLUMN_TAKES_REST);
+ lastColumnTakesRest = (lastColumnTakesRestString != null && lastColumnTakesRestString.equalsIgnoreCase("true"));
+ splitLimit = (lastColumnTakesRest && columnNames != null) ? columnNames.size() : -1;
+
+ LOG.debug(getClass().getName() + ": initialized with columnNames: " + columnNames + " and separator code=" + (int)separator.charAt(0)
+ + " lastColumnTakesRest=" + lastColumnTakesRest + " splitLimit=" + splitLimit);
}
- public static Object deserialize(ColumnSet c, String row, String sep, String nullString) throws Exception {
+ /**
+ * Split the row into columns.
+ * @param limit up to limit columns will be produced (the last column takes all the rest), -1 for unlimited.
+ * @return
+ * @throws Exception
+ */
+ public static Object deserialize(ColumnSet c, String row, String sep,
+ String nullString, int limit) throws Exception {
if (c.col == null) {
c.col = new ArrayList<String>();
} else {
c.col.clear();
}
- String [] l1 = row.split(sep, -1);
+ String [] l1 = row.split(sep, limit);
for(String s: l1) {
if (s.equals(nullString)) {
@@ -145,7 +161,7 @@
row = field.toString();
}
try {
- deserialize(deserializeCache, row, separator, nullString);
+ deserialize(deserializeCache, row, separator, nullString, splitLimit);
if (columnNames != null) {
assert(columnNames.size() == deserializeCache.col.size());
}
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java Mon Nov 10 17:50:06 2008
@@ -64,6 +64,17 @@
}
}
+ private static List<String> nativeSerDeNames = new ArrayList<String>();
+ static {
+ nativeSerDeNames.add(org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe.class.getName());
+ nativeSerDeNames.add(org.apache.hadoop.hive.serde2.MetadataTypedColumnsetSerDe.class.getName());
+ nativeSerDeNames.add(org.apache.hadoop.hive.serde.thrift.columnsetSerDe.class.getName());
+ }
+
+ public static boolean isNativeSerDe(String serde) {
+ return nativeSerDeNames.contains(serde);
+ }
+
private static boolean initCoreSerDes = registerCoreSerDes();
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDe.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDe.java?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDe.java (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDe.java Mon Nov 10 17:50:06 2008
@@ -108,7 +108,7 @@
this.bt.initialize();
} catch (Exception e) {
- System.out.println(StringUtils.stringifyException(e));
+ System.err.println(StringUtils.stringifyException(e));
throw new SerDeException(e);
}
}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeAsync.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeAsync.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeAsync.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeAsync.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeAsync.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeAsync extends SimpleNode {
+ public DynamicSerDeAsync(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeAsync(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeCommaOrSemicolon.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeCommaOrSemicolon.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeCommaOrSemicolon.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeCommaOrSemicolon.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeCommaOrSemicolon.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeCommaOrSemicolon extends SimpleNode {
+ public DynamicSerDeCommaOrSemicolon(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeCommaOrSemicolon(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConst.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConst.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConst.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConst.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeConst.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeConst extends SimpleNode {
+ public DynamicSerDeConst(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeConst(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstList.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstList.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstList.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstList.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeConstList.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeConstList extends SimpleNode {
+ public DynamicSerDeConstList(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeConstList(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstListContents.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstListContents.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstListContents.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstListContents.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeConstListContents.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeConstListContents extends SimpleNode {
+ public DynamicSerDeConstListContents(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeConstListContents(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstMap.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstMap.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstMap.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstMap.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeConstMap.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeConstMap extends SimpleNode {
+ public DynamicSerDeConstMap(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeConstMap(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstMapContents.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstMapContents.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstMapContents.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstMapContents.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeConstMapContents.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeConstMapContents extends SimpleNode {
+ public DynamicSerDeConstMapContents(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeConstMapContents(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstValue.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstValue.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstValue.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeConstValue.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeConstValue.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeConstValue extends SimpleNode {
+ public DynamicSerDeConstValue(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeConstValue(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeDefinition.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeDefinition.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeDefinition.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeDefinition.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeDefinition.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeDefinition extends SimpleNode {
+ public DynamicSerDeDefinition(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeDefinition(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeDefinitionType.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeDefinitionType.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeDefinitionType.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeDefinitionType.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeDefinitionType.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeDefinitionType extends SimpleNode {
+ public DynamicSerDeDefinitionType(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeDefinitionType(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnum.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnum.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnum.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnum.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeEnum.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeEnum extends SimpleNode {
+ public DynamicSerDeEnum(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeEnum(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnumDef.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnumDef.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnumDef.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnumDef.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeEnumDef.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeEnumDef extends SimpleNode {
+ public DynamicSerDeEnumDef(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeEnumDef(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnumDefList.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnumDefList.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnumDefList.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeEnumDefList.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeEnumDefList.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeEnumDefList extends SimpleNode {
+ public DynamicSerDeEnumDefList(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeEnumDefList(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeExtends.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeExtends.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeExtends.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeExtends.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeExtends.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeExtends extends SimpleNode {
+ public DynamicSerDeExtends(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeExtends(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeField.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeField.java?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeField.java (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeField.java Mon Nov 10 17:50:06 2008
@@ -32,6 +32,10 @@
private final int FD_FIELD_TYPE = 1;
private final int FD_FIELD_VALUE =2;
+ public boolean isSkippable() {
+ return ((DynamicSerDeFieldRequiredness)this.jjtGetChild(FD_REQUIREDNESS)).getRequiredness() == DynamicSerDeFieldRequiredness.RequirednessTypes.Skippable;
+ }
+
public DynamicSerDeFieldType getFieldType() {
return (DynamicSerDeFieldType)this.jjtGetChild(FD_FIELD_TYPE);
}
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldList.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldList.java?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldList.java (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldList.java Mon Nov 10 17:50:06 2008
@@ -87,6 +87,9 @@
for(int i = 0 ; i < this.jjtGetNumChildren(); i++) {
DynamicSerDeField mt = this.getField(i);
DynamicSerDeTypeBase type = mt.getFieldType().getMyType();
+ // types get initialized in case they need to setup any
+ // internal data structures - e.g., DynamicSerDeStructBase
+ type.initialize();
type.fieldid = mt.fieldid;
type.name = mt.name;
@@ -106,6 +109,15 @@
return types_by_column_name.get(fieldname);
}
+ /**
+ * Indicates whether fields can be out of order or missing. i.e., is it really real
+ * thrift serialization.
+ * This is used by dynamicserde to do some optimizations if it knows all the fields exist
+ * and are required and are serialized in order.
+ * For now, those optimizations are only done for DynamicSerDe serialized data so always
+ * set to false for now.
+ */
+ protected boolean isRealThrift = false;
public Object deserialize(Object reuse, TProtocol iprot) throws SerDeException, TException, IllegalAccessException {
ArrayList<Object> struct = null;
@@ -120,16 +132,33 @@
assert(struct.size() == this.getNumFields());
}
+ boolean fastSkips = iprot instanceof org.apache.hadoop.hive.serde2.thrift.SkippableTProtocol;
+
+ // may need to strip away the STOP marker when in thrift mode
+ boolean stopSeen = false;
+
// Read the fields.
for(int i = 0; i < this.getNumFields(); i++) {
DynamicSerDeTypeBase mt = null;
TField field = null;
-
+
+ if(!isRealThrift && this.getField(i).isSkippable()) {
+ // PRE - all the fields are required and serialized in order - is !isRealThrift
+ mt = this.ordered_types[i];
+ if(fastSkips) {
+ ((org.apache.hadoop.hive.serde2.thrift.SkippableTProtocol)iprot).skip(mt.getType());
+ } else {
+ TProtocolUtil.skip(iprot,mt.getType());
+ }
+ struct.set(i, null);
+ continue;
+ }
if (thrift_mode) {
field = iprot.readFieldBegin();
if(field.type >= 0) {
if(field.type == TType.STOP) {
+ stopSeen = true;
break;
}
mt = this.getFieldByFieldId(field.id);
@@ -157,23 +186,28 @@
orderedId = ordered_column_id_by_name.get(mt.name);
}
struct.set(orderedId, mt.deserialize(struct.get(orderedId), iprot));
-
if(thrift_mode) {
iprot.readFieldEnd();
}
}
+ if(thrift_mode && !stopSeen) {
+ // strip off the STOP marker, which may be left if all the fields were in the serialization
+ TField field = iprot.readFieldBegin();
+ assert(field.type == TType.STOP);
+ }
return struct;
}
TField field = new TField();
public void serialize(Object o, ObjectInspector oi, TProtocol oprot) throws TException, SerDeException, NoSuchFieldException,IllegalAccessException {
-
// Assuming the ObjectInspector represents exactly the same type as this struct.
// This assumption should be checked during query compile time.
assert(oi instanceof StructObjectInspector);
StructObjectInspector soi = (StructObjectInspector) oi;
+ boolean writeNulls = oprot instanceof org.apache.hadoop.hive.serde2.thrift.WriteNullsProtocol;
+
// For every field
List<? extends StructField> fields = soi.getAllStructFieldRefs();
if (fields.size() != ordered_types.length) {
@@ -184,6 +218,10 @@
Object f = soi.getStructFieldData(o, fields.get(i));
DynamicSerDeTypeBase mt = ordered_types[i];
+ if (f == null && !writeNulls) {
+ continue;
+ }
+
if(thrift_mode) {
field.name = mt.name;
field.type = mt.getType();
@@ -191,8 +229,11 @@
oprot.writeFieldBegin(field);
}
- mt.serialize(f, fields.get(i).getFieldObjectInspector(), oprot);
-
+ if(f == null) {
+ ((org.apache.hadoop.hive.serde2.thrift.WriteNullsProtocol)oprot).writeNull();
+ } else {
+ mt.serialize(f, fields.get(i).getFieldObjectInspector(), oprot);
+ }
if(thrift_mode) {
oprot.writeFieldEnd();
}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldRequiredness.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldRequiredness.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldRequiredness.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldRequiredness.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,48 @@
+/**
+ * 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.serde2.dynamic_type;
+
+public class DynamicSerDeFieldRequiredness extends SimpleNode {
+ public enum RequirednessTypes
+ {
+ Required, Skippable, Optional,
+ };
+
+ /**
+ * Is this a required, skippable or optional field.
+ * Used by DynamicSerDe for optimizations.
+ */
+ protected RequirednessTypes requiredness;
+
+ /**
+ * Get the requiredness attribute of this field.
+ */
+ public RequirednessTypes getRequiredness() {
+ return requiredness;
+ }
+
+ public DynamicSerDeFieldRequiredness(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeFieldRequiredness(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldType.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldType.java?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldType.java (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldType.java Mon Nov 10 17:50:06 2008
@@ -37,6 +37,4 @@
// and thus we can quickly find this comment and limitation.
return (DynamicSerDeTypeBase)this.jjtGetChild(FD_FIELD_TYPE);
}
-
-
}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldValue.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldValue.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldValue.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFieldValue.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeFieldValue.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeFieldValue extends SimpleNode {
+ public DynamicSerDeFieldValue(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeFieldValue(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFlagArgs.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFlagArgs.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFlagArgs.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFlagArgs.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeFlagArgs.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeFlagArgs extends SimpleNode {
+ public DynamicSerDeFlagArgs(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeFlagArgs(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFunctionType.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFunctionType.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFunctionType.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeFunctionType.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeFunctionType.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeFunctionType extends SimpleNode {
+ public DynamicSerDeFunctionType(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeFunctionType(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeHeader.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeHeader.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeHeader.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeHeader.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeHeader.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeHeader extends SimpleNode {
+ public DynamicSerDeHeader(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeHeader(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeHeaderList.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeHeaderList.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeHeaderList.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeHeaderList.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeHeaderList.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeHeaderList extends SimpleNode {
+ public DynamicSerDeHeaderList(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeHeaderList(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeInclude.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeInclude.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeInclude.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeInclude.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeInclude.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeInclude extends SimpleNode {
+ public DynamicSerDeInclude(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeInclude(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeNamespace.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeNamespace.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeNamespace.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeNamespace.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeNamespace.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeNamespace extends SimpleNode {
+ public DynamicSerDeNamespace(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeNamespace(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenum.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenum.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenum.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenum.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeSenum.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeSenum extends SimpleNode {
+ public DynamicSerDeSenum(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeSenum(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenumDef.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenumDef.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenumDef.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenumDef.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeSenumDef.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeSenumDef extends SimpleNode {
+ public DynamicSerDeSenumDef(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeSenumDef(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenumDefList.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenumDefList.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenumDefList.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeSenumDefList.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeSenumDefList.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeSenumDefList extends SimpleNode {
+ public DynamicSerDeSenumDefList(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeSenumDefList(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeService.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeService.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeService.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeService.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeService.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeService extends SimpleNode {
+ public DynamicSerDeService(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeService(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeStart.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeStart.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeStart.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeStart.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeStart.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeStart extends SimpleNode {
+ public DynamicSerDeStart(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeStart(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}
Modified: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeStructBase.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeStructBase.java?rev=712905&r1=712904&r2=712905&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeStructBase.java (original)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeStructBase.java Mon Nov 10 17:50:06 2008
@@ -81,7 +81,6 @@
fieldList.serialize(o, oi, oprot);
if(thrift_mode) {
- oprot.writeFieldStop();
oprot.writeStructEnd();
}
}
Added: hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeThrows.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeThrows.java?rev=712905&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeThrows.java (added)
+++ hadoop/core/trunk/src/contrib/hive/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDeThrows.java Mon Nov 10 17:50:06 2008
@@ -0,0 +1,14 @@
+/* Generated By:JJTree: Do not edit this line. DynamicSerDeThrows.java */
+
+package org.apache.hadoop.hive.serde2.dynamic_type;
+
+public class DynamicSerDeThrows extends SimpleNode {
+ public DynamicSerDeThrows(int id) {
+ super(id);
+ }
+
+ public DynamicSerDeThrows(thrift_grammar p, int id) {
+ super(p, id);
+ }
+
+}