亚洲视频在线观看一区,337P日本欧洲亚洲大胆精品,亚洲www在线观看http://m.tkk7.com/ivanwan/category/21710.html自由的力量,自由的生活。zh-cnTue, 06 Nov 2012 20:29:16 GMTTue, 06 Nov 2012 20:29:16 GMT60mysql超時設置的問題http://m.tkk7.com/ivanwan/archive/2012/11/06/390893.htmlivaneeoivaneeoTue, 06 Nov 2012 08:29:00 GMThttp://m.tkk7.com/ivanwan/archive/2012/11/06/390893.htmlhttp://m.tkk7.com/ivanwan/comments/390893.htmlhttp://m.tkk7.com/ivanwan/archive/2012/11/06/390893.html#Feedback0http://m.tkk7.com/ivanwan/comments/commentRss/390893.htmlhttp://m.tkk7.com/ivanwan/services/trackbacks/390893.html

com.mysql.jdbc.CommunicationsException: The last packet successfully received from the server was58129 seconds ago.The last packet sent successfully to the server was 58129 seconds ago, which is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

 

查了一下,原來是mysql超時設置的問題
如果連接閑置8小時 (8小時內沒有進行數據庫操作), mysql就會自動斷開連接, 要重啟tomcat.

 

 

解決辦法:

 

 

    一種. 如果不用hibernate的話, 則在 connection url中加參數: autoReconnect=true

jdbc.url=jdbc:mysql://ipaddress:3306/database?autoReconnect=true&autoReconnectForPools=true

 


    二種。用hibernate的話, 加如下屬性:
        <property name="connection.autoReconnect">true</property>
        <property name="connection.autoReconnectForPools">true</property>
        <property name="connection.is-connection-validation-required">true</property>

 


    三。要是還用c3p0連接池:
        <property name="hibernate.c3p0.acquire_increment">1</property>
        <property name="hibernate.c3p0.idle_test_period">0</property>
        <property name="hibernate.c3p0.timeout">0</property>
        <property name="hibernate.c3p0.validate">true</property>

 

 

 四。最不好的解決方案

 

使用Connector/J連接MySQL數據庫,程序運行較長時間后就會報以下錯誤:

Communications link failure,The last packet successfully received from the server was *** millisecond ago.The last packet successfully sent to the server was ***  millisecond ago。

其中錯誤還會提示你修改wait_timeout或是使用Connector/J的autoReconnect屬性避免該錯誤。

后來查了一些資料,才發現遇到這個問題的人還真不少,大部分都是使用連接池方式時才會出現這個問題,短連接應該很難出現這個問題。這個問題的原因:

MySQL服務器默認的“wait_timeout”是28800秒即8小時,意味著如果一個連接的空閑時間超過8個小時,MySQL將自動斷開該連接,而連接池卻認為該連接還是有效的(因為并未校驗連接的有效性),當應用申請使用該連接時,就會導致上面的報錯。

1.按照錯誤的提示,可以在JDBC URL中使用autoReconnect屬性,實際測試時使用了autoReconnect=true& failOverReadOnly=false,不過并未起作用,使用的是5.1版本,可能真像網上所說的只對4之前的版本有效。

2.沒辦法,只能修改MySQL的參數了,wait_timeout最大為31536000即1年,在my.cnf中加入:

[mysqld]

wait_timeout=31536000

interactive_timeout=31536000

重啟生效,需要同時修改這兩個參數

ivaneeo 2012-11-06 16:29 發表評論
]]>
Hive與HBase的整合http://m.tkk7.com/ivanwan/archive/2011/01/10/342685.htmlivaneeoivaneeoMon, 10 Jan 2011 07:22:00 GMThttp://m.tkk7.com/ivanwan/archive/2011/01/10/342685.htmlhttp://m.tkk7.com/ivanwan/comments/342685.htmlhttp://m.tkk7.com/ivanwan/archive/2011/01/10/342685.html#Feedback0http://m.tkk7.com/ivanwan/comments/commentRss/342685.htmlhttp://m.tkk7.com/ivanwan/services/trackbacks/342685.html

開場白:
Hive與HBase的整合功能的實現是利用兩者本身對外的API接口互相進行通信,相互通信主要是依靠hive_hbase-handler.jar工具類 (Hive Storage Handlers), 大致意思如圖所示:
hive-hbase

口水:
 對 hive_hbase-handler.jar 這個東東還有點興趣,有空來磋磨一下。

一、2個注意事項:
1、需要的軟件有 Hadoop、Hive、Hbase、Zookeeper,Hive與HBase的整合對Hive的版本有要求,所以不要下載.0.6.0以前的老版本,Hive.0.6.0的版本才支持與HBase對接,因此在Hive的lib目錄下可以看見多了hive_hbase-handler.jar這個jar包,他是Hive擴展存儲的Handler ,HBase 建議使用 0.20.6的版本,這次我沒有啟動HDFS的集群環境,本次所有測試環境都在一臺機器上。
     
2、運行Hive時,也許會出現如下錯誤,表示你的JVM分配的空間不夠,錯誤信息如下:
Invalid maximum heap size: -Xmx4096m
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine.

解決方法:
/work/hive/bin/ext# vim util/execHiveCmd.sh 文件中第33行
修改,
HADOOP_HEAPSIZE=4096

HADOOP_HEAPSIZE=256

另外,在 /etc/profile/ 加入 export $HIVE_HOME=/work/hive

二、啟動運行環境
1啟動Hive
hive –auxpath /work/hive/lib/hive_hbase-handler.jar,/work/hive/lib/hbase-0.20.3.jar,/work/hive/lib/zookeeper-3.2.2.jar -hiveconf hbase.master=127.0.0.1:60000
加載 Hive需要的工具類,并且指向HBase的master服務器地址,我的HBase master服務器和Hive運行在同一臺機器,所以我指向本地。

2啟動HBase
/work/hbase/bin/hbase master start

3啟動Zookeeper
/work/zookeeper/bin/zkServer.sh start

三、執行
在Hive中創建一張表,相互關聯的表
CREATE TABLE hbase_table_1(key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES ("hbase.table.name" = "xyz");

在運行一個在Hive中建表語句,并且將數據導入
建表
    CREATE TABLE pokes (foo INT, bar STRING);
數據導入
    LOAD DATA LOCAL INPATH '/work/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;

在Hive與HBase關聯的表中 插入一條數據
    INSERT OVERWRITE TABLE hbase_table_1 SELECT * FROM pokes WHERE foo=98;
運行成功后,如圖所示:
hive

插入數據時采用了MapReduce的策略算法,并且同時向HBase寫入,如圖所示:
Map-Reduce Job for INSERT

在HBase shell中運行 scan 'xyz' 和describe "xyz" 命令,查看表結構,運行結果如圖所示:
hive

xyz是通過Hive在Hbase中創建的表,剛剛在Hive的建表語句中指定了映射的屬性 "hbase.columns.mapping" = ":key,cf1:val"  和 在HBase中建表的名稱 "hbase.table.name" = "xyz"

在hbase在運行put命令,插入一條記錄
    put 'xyz','10001','cf1:val','www.javabloger.com'

在hive上運行查詢語句,看看剛剛在hbase中插入的數據有沒有同步過來,
    select * from hbase_table_1 WHERE key=10001;
如圖所示:
hive

最終的效果
    以上整合過程和操作步驟已經執行完畢,現在Hive中添加記錄HBase中有記錄添加,同樣你在HBase中添加記錄Hive中也會添加, 表示Hive與HBase整合成功,對海量級別的數據我們是不是可以在HBase寫入,在Hive中查詢 喃?因為HBase 不支持復雜的查詢,但是HBase可以作為基于 key 獲取一行或多行數據,或者掃描數據區間,以及過濾操作。而復雜的查詢可以讓Hive來完成,一個作為存儲的入口(HBase),一個作為查詢的入口(Hive)。如下圖示。
    hive mapreduce
    
    呵呵,見笑了,以上只是我面片的觀點。

先這樣,稍后我將繼續更新,感謝你的閱讀。

 

相關文章:
 Apache Hive入門2 
 Apache Hive入門1

 HBase入門篇4 
 HBase入門篇3 
 HBase入門篇2 
 HBase入門篇

–end–

 

豆瓣讀書  向你推薦有關 HBase、 Hadoop、 Hive、 MapReduce、 云計算、 架構設計、 類別的圖書。



ivaneeo 2011-01-10 15:22 發表評論
]]>
Facebook的新實時消息系統:Hbase——每月存儲1350+億條消息http://m.tkk7.com/ivanwan/archive/2011/01/10/342682.htmlivaneeoivaneeoMon, 10 Jan 2011 06:57:00 GMThttp://m.tkk7.com/ivanwan/archive/2011/01/10/342682.htmlhttp://m.tkk7.com/ivanwan/comments/342682.htmlhttp://m.tkk7.com/ivanwan/archive/2011/01/10/342682.html#Feedback0http://m.tkk7.com/ivanwan/comments/commentRss/342682.htmlhttp://m.tkk7.com/ivanwan/services/trackbacks/342682.html

Facebook的新實時消息系統:Hbase——每月存儲1350億條消息

你或許已經知道,facebook已經介紹過全新的social inbox產品,集成了email,IM,短信,文本信息,facebook的在線消息。最為重要的是,他們每個月要存儲超過1350億條消息。他們如何存放這些信息呢?facebook的Kannan Muthukkaruppan在《郵件的底層技術:HBase》一文中給了一個十分意外的答案——HBase,打敗了MySQL,Cassandra和其他一些技術,成為facebook的選擇。

為什么說是一個意外的答案?facebook創造了Cassandra,并且其就是為郵件類型的應用而打造的,但是他們發現Cassandra的最終一致性模型并不適合他們的全新的實時郵件產品。Facebook同樣擁有大量的MySQL架構,但是他們發現性能會隨著數據和索引的增加變差。他們同樣可以選擇自己來開發一個新的存儲模型,但是他們最終選擇了HBase。

HBase是一個可擴展的、并且支持海量數據下的高并發記錄級別更新操作的表存儲產品——為郵件系統量身定做。HBase同樣支持基于BigTable模型的key-value存儲。這樣能夠很好的支持按key來查找記錄以及按范圍來搜尋或者過濾,這也是郵件系統的特性之一。然而,復雜一點的查詢卻并不被支持。查詢是通過一個叫Hive的工具來進行分析的,這是facebook創造的用以處理他們幾個P的數據倉庫的,Hive是基于Hadoop文件系統HDFS,這也是HBase所采用的文件系統。

Facebook檢視了他們的應用場景,指出他們為什么要選擇HBase。他們所需要的系統應該能處理以下兩種數據:

  1. 一個較小的臨時數據集,是經常變化的。
  2. 一個不斷增加的數據集,是很少被訪問的。

有點意思哈。你閱讀了收件箱里的郵件,以后就很少再去看它一眼了。這兩種截然不同的數據使用方式,你可能會用兩個系統來實現。但是顯然HBase就能搞定這一切。目前尚不清楚它是如何(在兩種數據集上)來實現通用的搜索功能的,盡管它集成了多種搜索引擎。

他們系統的一些關鍵特性:

·HBase:

·擁有一個比Cassandra更簡答的一致性模型。

·非常好的可伸縮性和性能。

·大多數特性對他們的需求來說是足足有余的:自動負載平衡和故障轉移,支持壓縮,單機多個切片(multiple shards)。

·HDFS是HBase使用的文件系統,支持冗余復制,端到端的校驗以及自動恢復平衡。

·facebook的運維團隊在使用HDFS方面有豐富的經驗,他們是Hadoop的大客戶,Hadoop就是使用HDFS作為分布式文件系統的。

·Haystack用來做為存儲附件用的。

·重頭開始寫了一個自定義的應用server,以便處理大量來自不同源的消息。

·在ZooKeeper的頂層實現了一個“用戶發現服務”。

·使用了一系列的基礎服務:email帳戶驗證,好友關系鏈,隱私控制,消息傳送控制(消息是通過chat系統發送還是通過短信系統發送)。

·保持了他們一貫的作風,小團隊做出令人驚訝的事情:15個工程師花了1年的時間發布了20個新的基礎服務。

·facebook不打算只使用一個數據庫平臺并在這之上實現標準化應用,他們會針對不同的應用使用不同的平臺。

Facebook在HDFS/Hadoop/Hive上有了豐富的經驗,并且成為HBase的大客戶,這讓我夜不能寐。與一個十分流行的產品合作并成為其產業鏈的一部分是所有產品的夢想。這正是HBase所得到的。由于HBase涵蓋了諸如持久性,實時性,分布式,線性擴展,健壯性,海量數據,開源,key-value,列導向(column-oriented)等熱點。我們有理由相信它能變得更加流行,特別是基于它被facebook使用的事實。

(原文作者Todd Hoff,C++代碼規范的作者)



ivaneeo 2011-01-10 14:57 發表評論
]]>
informatica重點http://m.tkk7.com/ivanwan/archive/2007/04/19/111957.htmlivaneeoivaneeoThu, 19 Apr 2007 07:43:00 GMThttp://m.tkk7.com/ivanwan/archive/2007/04/19/111957.htmlhttp://m.tkk7.com/ivanwan/comments/111957.htmlhttp://m.tkk7.com/ivanwan/archive/2007/04/19/111957.html#Feedback0http://m.tkk7.com/ivanwan/comments/commentRss/111957.htmlhttp://m.tkk7.com/ivanwan/services/trackbacks/111957.html    Transformation代表Informatica Server對數據的操作。
    Transformation分類:Active和Passive
       輸入跟輸出的記錄數會發生改變
       不能re-linked到另一個data stream
       例子:Aggregator, Filter, Joiner, Normalizer, Rank, Update Strategy, Advanced External Procedure,
        ERP Source Qualifier and Source Qualifier, Application Source Qualifier, Router, Sorter    
    Passive transformations
       輸入跟輸出的記錄數一樣
       可以re-linked到另一個data stream
        例子:Expression, External Procedure, Lookup, Sequence Generator  Stored Procedure, Input,
Output, XML Source Qualifier
      Transformations分類 : connected 和 unconnected,unconnected transformation在其他的組件中被調用并且有返回值。



ivaneeo 2007-04-19 15:43 發表評論
]]>
數據的清洗轉換http://m.tkk7.com/ivanwan/archive/2007/04/18/111485.htmlivaneeoivaneeoWed, 18 Apr 2007 01:12:00 GMThttp://m.tkk7.com/ivanwan/archive/2007/04/18/111485.htmlhttp://m.tkk7.com/ivanwan/comments/111485.htmlhttp://m.tkk7.com/ivanwan/archive/2007/04/18/111485.html#Feedback0http://m.tkk7.com/ivanwan/comments/commentRss/111485.htmlhttp://m.tkk7.com/ivanwan/services/trackbacks/111485.htmlETL的簡介:
    ETL即數據抽取(Extract)、轉換(Transform)、裝載(Load)的過程,它是構建數據倉庫的重要環節
1、 數據清洗

數據清洗的任務是過濾那些不符合要求的數據,將過濾的結果交給業務主管部門,確認是否過濾掉還是由業務單位修正之后再進行抽取。不符合要求的數據主要是有不完整的數據、錯誤的數據、重復的數據三大類。

  (1)不完整的數據:這一類數據主要是一些應該有的信息缺失,如供應商的名稱、分公司的名稱、客戶的區域信息缺失、業務系統中主表與明細表不能 匹配等。對于這一類數據過濾出來,按缺失的內容分別寫入不同Excel文件向客戶提交,要求在規定的時間內補全。補全后才寫入數據倉庫。

  (2)錯誤的數據:這一類錯誤產生的原因是業務系統不夠健全,在接收輸入后沒有進行判斷直接寫入后臺數據庫造成的,比如數值數據輸成全角數字字 符、字符串數據后面有一個回車操作、日期格式不正確、日期越界等。這一類數據也要分類,對于類似于全角字符、數據前后有不可見字符的問題,只能通過寫 SQL語句的方式找出來,然后要求客戶在業務系統修正之后抽取。日期格式不正確的或者是日期越界的這一類錯誤會導致ETL運行失敗,這一類錯誤需要去業務 系統數據庫用SQL的方式挑出來,交給業務主管部門要求限期修正,修正之后再抽取。

  (3)重復的數據:對于這一類數據——特別是維表中會出現這種情況——將重復數據記錄的所有字段導出來,讓客戶確認并整理。

  數據清洗是一個反復的過程,不可能在幾天內完成,只有不斷的發現問題,解決問題。對于是否過濾,是否修正一般要求客戶確認,對于過濾掉的數據, 寫入Excel文件或者將過濾數據寫入數據表,在ETL開發的初期可以每天向業務單位發送過濾數據的郵件,促使他們盡快地修正錯誤,同時也可以做為將來驗 證數據的依據。數據清洗需要注意的是不要將有用的數據過濾掉,對于每個過濾規則認真進行驗證,并要用戶確認。



2、 數據轉換

數據轉換的任務主要進行不一致的數據轉換、數據粒度的轉換,以及一些商務規則的計算。

  (1)不一致數據轉換:這個過程是一個整合的過程,將不同業務系統的相同類型的數據統一,比如同一個供應商在結算系統的編碼是XX0001,而在CRM中編碼是YY0001,這樣在抽取過來之后統一轉換成一個編碼。

  (2)數據粒度的轉換:業務系統一般存儲非常明細的數據,而數據倉庫中數據是用來分析的,不需要非常明細的數據。一般情況下,會將業務系統數據按照數據倉庫粒度進行聚合。

  (3)商務規則的計算:不同的企業有不同的業務規則、不同的數據指標,這些指標有的時候不是簡單的加加減減就能完成,這個時候需要在ETL中將這些數據指標計算好了之后存儲在數據倉庫中,以供分析使用。

三、ETL日志、警告發送

1、 ETL日志

  ETL日志分為三類。一類是執行過程日志,這一部分日志是在ETL執行過程中每執行一步的記錄,記錄每次運行每一步驟的起始時間,影響了多少行 數據,流水賬形式。一類是錯誤日志,當某個模塊出錯的時候寫錯誤日志,記錄每次出錯的時間、出錯的模塊以及出錯的信息等。第三類日志是總體日志,只記錄 ETL開始時間、結束時間是否成功信息。如果使用ETL工具,ETL工具會自動產生一些日志,這一類日志也可以作為ETL日志的一部分。記錄日志的目的是 隨時可以知道ETL運行情況,如果出錯了,可以知道哪里出錯。

  2、 警告發送

  如果ETL出錯了,不僅要形成ETL出錯日志,而且要向系統管理員發送警告。發送警告的方式多種,一般常用的就是給系統管理員發送郵件,并附上出錯的信息,方便管理員排查錯誤。

  ETL是BI項目的關鍵部分,也是一個長期的過程,只有不斷的發現問題并解決問題,才能使ETL運行效率更高,為BI項目后期開發提供準確的數據。




ivaneeo 2007-04-18 09:12 發表評論
]]>
主站蜘蛛池模板: 国产免费直播在线观看视频| 在线观看H网址免费入口| 美女被免费视频网站a国产| 亚洲精品**中文毛片| 最近2018中文字幕免费视频| 亚洲AV美女一区二区三区| 暖暖免费在线中文日本| 国产亚洲一区二区三区在线| a毛片视频免费观看影院| 亚洲阿v天堂在线| 免费无码成人AV在线播放不卡| 亚洲日本在线看片| 亚洲香蕉免费有线视频| 亚洲一区二区三区乱码在线欧洲| 成人a免费α片在线视频网站| 亚洲日韩国产二区无码| 免费中文字幕一级毛片| 一级毛片在线免费视频| 日本亚洲成高清一区二区三区| 久久久免费的精品| 亚洲冬月枫中文字幕在线看| 国产2021精品视频免费播放| 亚洲国产精品成人午夜在线观看 | 亚洲校园春色小说| 免费阿v网站在线观看g| 亚洲精品无码专区在线| 亚洲国产精品丝袜在线观看| 天黑黑影院在线观看视频高清免费| 久久久亚洲精品视频| A在线观看免费网站大全| 国产精品亚洲色婷婷99久久精品| 免费人成视频x8x8入口| 日韩电影免费在线观看网站| 亚洲成a人片在线观看中文app| 日本媚薬痉挛在线观看免费| 一级特黄录像免费播放肥| 亚洲国产精品无码久久久| 国产精品高清全国免费观看| 免费国产在线视频| 色欲aⅴ亚洲情无码AV蜜桃| 国产亚洲色视频在线|