Created
February 2, 2010 08:24
-
-
Save amitrathore/292512 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defn capjure-insert | |
([object-to-save hbase-table-name row-id] | |
(capjure-insert object-to-save hbase-table-name row-id nil)) | |
([object-to-save hbase-table-name row-id version-timestamp] | |
(let [#^HTable table (hbase-table hbase-table-name) | |
put (Put. (Bytes/toBytes row-id)) | |
flattened (flatten object-to-save)] | |
(if version-timestamp | |
(do | |
(println "going to insert at:" version-timestamp " which is:" (class version-timestamp)) | |
(.setTimeStamp put version-timestamp) | |
(println "ts from put:" (.getTimeStamp put)))) | |
(add-to-insert-batch put flattened version-timestamp) | |
(.put table put) | |
(println "after insert at:" version-timestamp)))) | |
(defn add-to-insert-batch [put flattened-list version-timestamp] | |
(doseq [[column value] flattened-list] | |
(let [[family qualifier] (.split column ":")] | |
(.add put (Bytes/toBytes family) (Bytes/toBytes (or qualifier "")) version-timestamp (Bytes/toBytes (str value)))))) | |
;; (defn capjure-insert | |
;; ([object-to-save hbase-table-name row-id] | |
;; (capjure-insert object-to-save hbase-table-name row-id nil)) | |
;; ([object-to-save hbase-table-name row-id version-timestamp] | |
;; (let [#^HTable table (hbase-table hbase-table-name) | |
;; ;; put (Put. (Bytes/toBytes row-id)) | |
;; flattened (flatten object-to-save)] | |
;; (.put table (doto (Put. (.getBytes row-id)) | |
;; (add-timestamp-if-exists version-timestamp) | |
;; (add-to-insert-batch flattened))) | |
;; ;; (if version-timestamp | |
;; ;; (do | |
;; ;; (println "going to insert at:" version-timestamp " which is:" (class version-timestamp)) | |
;; ;; ;; (.setTimeStamp put version-timestamp) | |
;; ;; (println "ts from put:" (.getTimeStamp put)))) | |
;; ;; (add-to-insert-batch put flattened) | |
;; ;; (.put table put) | |
;; (println "after insert at:" version-timestamp)))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment