Xây dựng trên câu trả lời của jtravaglini, có 2 được xây dựng trong các cột ảo Hive từ 0.8.0 có thể được sử dụng để tạo ra một định danh duy nhất:
INPUT_ FILE _name, BLOCK_ OFFSET _INSIDE__FILE
Sử dụng như thế này:
chọn concat (INPUT_ FILE _NAME, ':', BLOCK_ OFFSET _INSIDE__FILE) làm dòng khóa,
...
;
...
OK
HDFS: //: 8020/user/dhdpadmn/đào tạo/training_data/NYSE/ngày/NYSE_daily2.txt: 0 HDFS: //: 8020/user/dhdpadmn/đào tạo/training_data/nyse/daily/NYSE_daily2.txt: 57 hdfs: //: 8020/người dùng/dhdpadmn/training/training_data/nyse/daily/NYSE_daily2.txt: 114 hdfs: //: 8020/user/dhdpadmn/training/training_data/nyse/daily/NYSE_daily2.txt: 171 hdfs: //: 8020/người dùng/dhdpadmn/training/training_data/nyse/daily/NYSE_daily2.txt: 228 hdfs: //: 8020/user/dhdpadmn/training/training_data/nyse/daily/NYSE_daily2.txt: 285 hdfs: //: 8020/người dùng/dhdpadmn/training/training_data/nyse/daily/NYSE_daily2.txt: 342
...
Hoặc bạn có thể anonomize rằng với md5 hoặc tương tự, đây là một liên kết đến md5 UDF: https://gist.github.com/dataminelab/1050002
(lưu ý tên hàm lớp được initcap 'md5')
chọn md5 (concat (INPUT_ FILE _name, ':', BLOCK_ OFFSET _INSIDE__FILE)) như rowkey, ...
Có bạn được coi là [UUID] (http://docs.oracle.com/javase/1.5.0/docs/api/java/util/UUID.html)? – climbage