2017-01-09 3 views
2

Ich lese Daten von Hbase mit Funken und die UUID in Hbase ist im Binärformat und ich möchte diese binäre Art von UUID in reguläre UUID in Scala konvertieren. Weiß jemand, wie es getan werden kann?Wie kann ich binäre UUID in UUID in Scala konvertieren?

+0

können Sie den vollständigen Namensraum für die HBase UUID und regelmäßige Scala UUID bestätigen (zum Beispiel sind sie beide java.util.UUID)? – Woodz

+0

Welcher Serializer auch verwendet wurde, um die Daten zum HBase zu serialisieren ... verwenden Sie den entsprechenden Deserializer. –

+0

Wenn Sie java.util.UUID beim Schreiben in HBase verwendet haben, sollten Sie kein Problem damit haben, es mit dem gleichen Paket –

Antwort

0

Unten ist der Code zum Lösen der Frage.

def touuid(a: Array[Byte]): String = 
{ 
    val bb = ByteBuffer.wrap(a) 
    val high = bb.getLong(); 
    val low = bb.getLong(); 
    val uuid = new UUID(high, low); 
    return uuid.toString() 
} 

val havid = udf((x: Array[Byte]) => touuid(x))