事務包含四要素:
事務可以保證acid原則的操作,解決acid問題的兩大技術點是:
cdh hive中的concurrency預設是開啟的,hive定義了兩種鎖的模式:共享鎖(s)和排它鎖(x),顧名思義,多個共享鎖(s)可以同時獲取,但是排它鎖(x)會阻塞其它所有鎖。
讀請求和select查詢語句使用共享鎖,寫語句使用排它鎖。排它鎖和共享鎖,排它鎖和排它鎖不能並存,共享鎖和共享鎖可以並存。
使用show locks命令在hive中檢視正在使用哪種鎖,我的環境是cdh5.8.5,hive是1.2.0版本,預設開啟了鎖。可以對同一張表使用insert into 和select等語句進行測試。
但是如果要是用update或者delete對資料庫表進行事務操作的話,需要在hive-site.xml中新增以下配置,有的可能配置已經存在
hive.support.concurrency
true
hive.enforce.bucketing
true
hive.exec.dynamic.partition.mode
nonstrict
hive.txn.manager
org.apache.hadoop.hive.ql.lockmgr.dbtxnmanager
hive.compactor.initiator.on
true
hive.compactor.worker.threads
1hive.lock.sleep.between.retries
10如果要在beeline中實現事務操作,還需要配置hive-site.xml的hiveserver2高階**段,配置項同上。
其中,hive.lock.sleep.between.retries項可以使用預設,該項表示乙個操作從另乙個操作拿到鎖的時間間隔,預設是60s
Spring事務管理
spring是ssh中的管理員,負責管理其它框架,協調各個部分的工作。今天一起學習一下spring的事務管理。spring的事務管理分為宣告式跟程式設計式。宣告式就是在spring的配置檔案中進行相關配置 程式設計式就是用註解的方式寫到 裡。下面先說宣告式 spring配置檔案中關於事務配置總是由三...
spring事務管理
一 xml配置事務 二 註解的方式配置事務 bean id txmanaager class org.springframework.orm.hibernate3.hibernatetransactionmanager property name sessionfactory ref session...
Spring AOP 事務管理
首先需要配置乙個 bean 稱之為事務管理器。有datasourcetransactionmanager hibernatetransactionmanager等。然後用tx advice標籤配置事務。tx即是transaction的簡寫。定義事務屬性 傳播 隔離級別 讀寫 超時 異常。最後用 ao...