不想看問題描述的直接看解決辦法。
我們採用spring+mysql做專案,在寫完repository測試時,發現插入資料庫的漢字都是亂碼。網上查是資料庫編碼問題,有的建議配置資料來源時令url=jdbc:mysql://localhost:3306/solawdb?useunicode=true&characterencoding=utf-8,不過無效。根本原因是資料庫編碼用的latin
於是又搜到如下命令修改資料庫,資料表和資料字段的預設編碼:
j將資料庫(test)的編碼方式修改為utf8,如:
alter database `test` default character set utf8 collate utf8_bin;
.修改表的編碼
將表(test)的編碼方式修改為utf8,如:
alter table `test` default character set utf8 collate utf8_bin;
.修改欄位的編碼
將表(test)中欄位(name)的編碼方式修改為utf8,如:
alter table `test` change `name` `name` varchar( 10 ) character set utf8 collate utf8_bin not null;
經試驗還是無效
1 hdpuser1@master:~$ sudo /etc/init.d/mysql stop
2 hdpuser1@master:~$ sudo gedit /etc/mysql/my.cnf
在找到[mysqld] 新增:character-set-server=utf8 (注意,老版本mysql為:default-character-set=utf8)
3 hdpuser1@master:~$ sudo service mysql start (注意,修改後再啟動mysql不可用 sudo /etc/init.d/mysql start)
4 重新建表,否則原來的表編碼仍為latin
數倉 架構層次
1.source,3nf file,源資料 2.stg,3nf,暫存資料 同源同構,不對外提供服務 3.ods,3nf,運算元據 簡單處理,提供基於業務資料的應用 4.bl,star,明細資料 面向主題域,資料加工,產生衍生指標 5.dm,start,彙總資料 特定領域的應用 6.olap,cube...
數倉 分層架構
ods層 資料 及建模方式 各業務系統的源資料,物理模型與業務模型一致 服務領域 為其它邏輯層提供資料 資料etl過程描述 把業務資料抽取落地成文字檔案,再裝載到資料倉儲ods層,不做清洗轉化。功能 1 ods是數倉準備區 2 為dwd提供原始資料 3 減少對業務系統影響 建模方式及原則 資料保留時...
測試 數倉架構 思想
1 單元測試根據設計說明書編寫,不能根據 2 單元測試 介面,區域性資料結構,邊界條件,執行路徑,錯誤處理 3 整合測試最簡單的形式是兩個單元測試之間的介面 4 group by要求 常量 聚合函式 group by 的 5 資料流程 mysql to hdfs hdfs to ods db ods...