Хеш функцията връща 0 само когато всички предоставени аргументи са празни или нулеви.
Ако сте запознати с Java, можете да проверите изпълнението на хеш функция .
Хеш функцията вътрешно използва ObjectInspectorUtils.hashCode
за да получите hashCode за предоставените полета, използвайте долупосочения кодов фрагмент на Java, за да тествате ръчно този проблем:
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.io.Text;
public class TestHash
{
public static void main( String[] args )
{
System.out.println( ObjectInspectorUtils.hashCode(null,PrimitiveObjectInspectorFactory.javaStringObjectInspector) );
System.out.println( ObjectInspectorUtils.hashCode(new Text(""),PrimitiveObjectInspectorFactory.javaStringObjectInspector) );
}
}
Maven зависимости, необходими за изпълнение на горната програма:
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.2</version>
</dependency>