Mysql
 sql >> база данни >  >> RDS >> Mysql

Хеш функция на Hive, водеща до 0, нула и 1, защо?

Хеш функцията връща 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>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql поддържа ли sp_getapplock

  2. Възможно ли е да се направи подзаявка със Sequelize.js?

  3. как да проверите и зададете max_allowed_packet mysql променлива

  4. java.sql.SQLException:Не са разрешени операции след затваряне на връзката

  5. Попълване на база данни без командата load data