Utilisation de l'API HBASE (GET / METT) ou HBQL API, est-il possible de récupérer l'horodatage d'une colonne particulière? P>
4 Réponses :
Assumer que votre client est configuré et que vous avez une configuration de table. Faire un get retourne un résultat
result_foo.raw()[0].getTimestamp()
Est-ce que [0] indique la première colonne de HBASE? Y a-t-il un moyen d'atteindre l'horodatage pour un nom de colonne spécifié particulier?
Il a été assez long que je ne me souviens de détails de ces documents. Les choses ont probablement changé depuis lors. La meilleure chose à faire est de reposer une console pour votre configuration HBASE et de fouiller.
result_foo.rawCells()(0).getTimestamp is a good style
toujours besoin d'accolades carrés autour de l'indice, par exemple RAWCELLS () [0] CODE>
Je pense que le suivi sera meilleur:
public byte[] getValue(byte[] family, byte[] qualifier) { KeyValue kv = this.getColumnLatest(family, qualifier); return kv == null ? null : kv.getValue(); }
@ La réponse de Codingfoo suppose que tous les horodatages sont les mêmes pour toutes les cellules, mais la question de OP était pour une colonne spécifique. À cet égard, similaire à la réponse de @peibin Wang, je proposerais ce qui suit si vous souhaitez que le dernier horodatage de votre colonne:
Utilisez le GetColumnLatestCell Méthode sur votre objet de résultat, puis appelez le Si vous souhaitez accéder à un horodatage spécifique, vous pouvez utiliser le getcolumncells qui retourne toutes les cellules pour une colonne spécifiée, mais puis Vous devrez choisir entre les cellules avec un gettiMestamp code> méthode comme: p>
get (int index) CODE>, puis appelle
gettiMestamp () code> p> p> p> p>