Xây dựng một kho dữ liệu với Hive
Xây dng kho d liu da vào ngân sách
Kho dliệu đã thực sự là một trận chiến đang diễn ra giữa các tổ chức trong nhiều
năm. Làm thế nào để bạn xây dựng nó? Những dữ liu của bạn có thtích hợp
không? Bn có nên sdụng Kimball hoặc Inmon, nhà máy doanh nghip thông
tin (CIF), hoặc siêu th dliu? Danh sách có thể kéo dài thêm theo ngày, thậm c
nhiều thập kỷ. Với dữ liu lớn, các câu hỏi trở thành phức tạp n, chẳng hạn như
là một kho dữ liệu đã đủ hay chưa? Câu trả lời nằm ở các doanh nghiệp. Người ta
cho rằng Hive là kho dliệu Hadoop. Dù trên một mức độ nào đó là đúng, đôi khi
nó cũng là một cái gì đó của một nhận định sai. Tuy nhiên, đôi khi bạn phải sử
dụng các công cụ có sẵn, và vì thế, Hive có thể được coi là một kho dữ liu.
Ba đối tượng để tiếp cn mt doanh nghiệp. Đối tượng đầu tiên — kho d liu
(data warehouse) là rt lớn: nó mang đến lch s và kinh nghim, đồng thi
mt tri nghim tt. Nhưng nó cũng cồng knh và tn kém theo rt nhiu cách
khác nhau, và người ta đang mt mi với các chi phí để cho các kết qu khác nhau.
Apache Hadoop sa vào li cũ và rút li tuyên b mun tiếp qun th trường. Nó rao
ging v d liu ln, vn tc, khi lượng, đa dạng, và mt lot th v khác
không có nhiu ý nghĩa nào khác ngi mt kế hoch tiếp th. Nó đưa ra các phân
ch, d đoán, và nhiu hơn na. nó r. Mi người dng li lng nghe.
Apache Hive ra đi, nhưng không phải để cố gắng đánh bại các đối tượng khác.
mun làm việc với Hadoop, nhưng không giống như Hadoop, nó không muốn gạt
các kho dliu đi sang một phía. Hive không những có khả năng kho dữ liệu, mà
còn có khả năng phân tích kinh doanh thông minh (BI) và hạn chế phân tích. Nó
không nhng có khả năng cơ sở dữ liệu, mà còn có hệ quản tr sở dữ liệu
(RDBMS) và ngôn ng truy vấn cấu trúc (SQL) hạn chế. mở và thân thin. Nó
liên quan đến các kho dữ liệu. Nó liên quan đến các RDBMS. Nhưng nó không bao
giờ xuất hiện và tuyên brằng nó nhiều hơn những gì trông thấy. Hadoop ngắt và
tuyên bnó là kho dliu cho thế gii Hadoop. Hadoop dường như đã đưa ra đại
diện tiếp thị hay nhất của mình, và nhng gì rút ra tmột cuộc trò chuyện đơn giản
trở thành Hive và Hadoop cu rỗi cả thế giới. Điều đó thật hấp dẫn, thú vị. Nhưng
có thật hay không? Hãy tạm coi là như vậy.
Kho d liu
Xây dựng một kho dữ liu thực sự có thể là một dự án lớn. Có các thiết bị khác
nhau, pơng pháp và lý thuyết. Giá trị thông thường thấp nhất là bao nhiêu? Thực
tế như thế nào, và nhng gì các đối tượng liên quan ngược trở lại các sự kiện đó?
Và làm thế nào để bạn kết hợp, làm cho phù hợp, hợp nhất, và tích hợp các hệ
thống mà có thể đãtnhiu thập kỷ trước với các hệ thống chỉ mới thành hin
thực cách đây vài tháng? Đây là trước dữ liệu lớn và Hadoop. Thêm phi cu trúc,
dliu, NoSQL và Hadoop vào hỗn hợp, và đột nhiên bạn có một Dự án tích hợp
dliu lớn trong tay bạn.
Cách đơn giản nht để mô tả một kho dliệu là chuynthành các lược đồ sao,
sự kiện, và kích thước. Làm thế nào để bạn tạo ra những yếu tố thực slà tùy thuộc
vào bn cho dù đó là thông qua cơ sdữ liệu dàn dựng; chiết xuất, chuyển đổi,
quá trình ti, hoặc tích hợp chỉ số phụ ngay lập tức. Chắc chắn, bạn có thể xây
dựng một kho dữ liệu với các lược đồ sao, sự kiện, và kích thước, sử dụng Hive
như công nghệ cốt lõi, nhưng nó sẽ không được dễ dàng. Bên ngoài thế giới
Hadoop, nó trở thành mt thách thức lớn hơn. Hive, hiểu rộng ra là sự tích hợp,
chuyển đổi, công cụ tra cứu nhanh chóng so với một kho dliu hợp lệ. Giản đồ
thể nói kho dữ liệu, nhưng tính hữu dụng thậm chí không nói RDBMS. Vy thì ti
sao lại đi sử dụng nó?
Thế nào là mt gin đ hình sao
Hãy tưởng tượng một ngôi sao một trung tâm và vài bàn tay ch về những
hướng khác nhau. Trung tâm đó như là nhịp tim, hay còn gọi là fact table (bảng
thực tế). Tất cả bàn tay chvề những kích thước khác nhau. Nhiều kho chứa dữ liệu
cũng có một bảng thực tế và có rt nhiều hướng.
Một bảng thực tế bao gồm bất kì một loại dữ liệu nào bnthể cân hoặc đếm. Ví
dụ, bạn có một bảng thống kê về bóng chày như điểm số, số cú đánh quyết định,
kết quả trận đấu, v.v.... Bạn có thể tính toán, cộng, trừ hoặc nhân các cột với nhau.
Chiều (Dimensions) phụ thuộc nhiều vào mẫu. Ví dụ, bạn có chiều thông tin của
người chơi, chiu thời gian và ngày, v.v.... Bạn không cần phải tính toán hay cân
các cột trong các chiều đó.
Trong dụ này, chìa khóa kết nối các bảng có kích tớc khác nhau để thành một
bảng thực tế là playerID.
Đơn gin chỉ cần đặt, đôi khi, bạn phải sử dụng những công cụ đặt trước mặt bạn.
Bất kì người nào hoạt động trong lĩnh vực IT ở bất kì khong thời gian nào có th
nói rng công cụ phù hợp cho một công việc không phi lúc nào cũng sẵn có. Hay
các công cụ phù hợp lúc nào cũng sẵn có, nhưng trước hết chúng ta phải cân nhắc
đến yếu tố chi phí. Đôi khi yếu tố chính trị của một công ty cũng đóng vai trò rất
ln. Dù bất kì do nào, hầu hết chúng ta đều đang đang băn khoăn i nào cần
phải xây dựng, thiết kế và phát triển cách sử dụng công cụ để đạt hiệu quả nhất với
công việc.
Tôi đã tham gia một số lượng lớn các dự án, chúng tôi phải sử dụng Hive như một
sở dữ liệu, như một kho chứa dữ liu và như một hệ thống thay đổi từ từ. Đó là