Tự động hóa dự báo chuỗi thời gian của bạn trong Snowflake bằng cách sử dụng Amazon Dự báo dữ liệu PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tự động hóa dự báo chuỗi thời gian của bạn trong Snowflake bằng Amazon Forecast

Bài đăng này là sự hợp tác chung với Andries Engelbrecht và James Sun của Snowflake, Inc.

Cuộc cách mạng điện toán đám mây đã cho phép các doanh nghiệp nắm bắt và lưu giữ dữ liệu của công ty và tổ chức mà không cần lập kế hoạch năng lực hoặc các ràng buộc về lưu giữ dữ liệu. Giờ đây, với nguồn dự trữ đa dạng và khổng lồ về dữ liệu theo chiều dọc, các công ty ngày càng có thể tìm ra những cách mới và có tác động để sử dụng tài sản kỹ thuật số của mình nhằm đưa ra các quyết định sáng suốt và tốt hơn khi đưa ra các quyết định lập kế hoạch ngắn hạn và dài hạn. Dự báo chuỗi thời gian là một khoa học thiết yếu và độc đáo cho phép các công ty đưa ra quyết định lập kế hoạch phẫu thuật để giúp cân bằng mức độ dịch vụ khách hàng so với các mục tiêu thường cạnh tranh về lợi nhuận tối ưu.

Tại AWS, đôi khi chúng tôi làm việc với những khách hàng đã chọn đối tác công nghệ của chúng tôi Snowflake để cung cấp trải nghiệm nền tảng dữ liệu đám mây. Có một nền tảng có thể nhớ lại nhiều năm dữ liệu lịch sử là rất mạnh mẽ — nhưng làm thế nào bạn có thể sử dụng dữ liệu này để nhìn về phía trước và sử dụng bằng chứng của ngày hôm qua để lập kế hoạch cho ngày mai? Hãy tưởng tượng không chỉ có những gì đã xảy ra có sẵn trong Snowflake — phiên bản sự thật duy nhất của bạn — mà còn có một tập hợp dữ liệu không liên quan cung cấp dự báo xác suất cho ngày, tuần hoặc tháng trong tương lai.

Trong một chuỗi cung ứng hợp tác, việc chia sẻ thông tin giữa các đối tác có thể cải thiện hiệu suất, tăng khả năng cạnh tranh và giảm lãng phí tài nguyên. Chia sẻ dự báo tương lai của bạn có thể được tạo điều kiện thuận lợi với Chia sẻ dữ liệu bông tuyết, cho phép bạn cộng tác liền mạch với các đối tác kinh doanh của mình một cách an toàn và xác định thông tin chi tiết về doanh nghiệp. Nếu nhiều đối tác chia sẻ dự báo của họ, điều đó có thể giúp kiểm soát hiệu ứng bullwhip trong chuỗi cung ứng được kết nối. Bạn có thể sử dụng hiệu quả Thị trường bông tuyết để kiếm tiền từ phân tích dự đoán của bạn từ các tập dữ liệu được tạo trong Dự báo Amazon.

Trong bài đăng này, chúng tôi thảo luận về cách triển khai giải pháp dự báo chuỗi thời gian tự động bằng Snowflake và Dự báo.

Các dịch vụ AWS cần thiết cho phép giải pháp này

Dự báo cung cấp một số thuật toán chuỗi thời gian hiện đại và quản lý việc phân bổ đủ khả năng tính toán phân tán để đáp ứng nhu cầu của hầu hết mọi khối lượng công việc. Với Dự báo, bạn không nhận được một mô hình; bạn nhận được sức mạnh của nhiều mô hình được tối ưu hóa hơn nữa thành một mô hình có trọng số duy nhất cho từng chuỗi thời gian trong tập hợp. Nói tóm lại, dịch vụ cung cấp tất cả khoa học, xử lý dữ liệu và quản lý tài nguyên vào một lệnh gọi API đơn giản.

Chức năng bước AWS cung cấp một cơ chế điều phối quy trình để quản lý quy trình làm việc tổng thể. Dịch vụ đóng gói các lệnh gọi API với amazon Athena, AWS Lambdavà Dự báo để tạo một giải pháp tự động thu thập dữ liệu từ Snowflake, sử dụng Dự báo để chuyển đổi dữ liệu lịch sử thành các dự đoán trong tương lai, sau đó tạo dữ liệu bên trong Snowflake.

Các truy vấn liên kết của Athena có thể kết nối với một số nguồn dữ liệu doanh nghiệp, bao gồm Máy phát điện Amazon, Amazon RedShift, Dịch vụ Tìm kiếm Mở của Amazon, MySQL, PostgreSQL, Redis và các kho dữ liệu bên thứ ba phổ biến khác, chẳng hạn như Snowflake. Các trình kết nối dữ liệu chạy dưới dạng các hàm Lambda — bạn có thể sử dụng mã nguồn này để giúp khởi chạy Trình kết nối bông tuyết Amazon Athena Lambda và kết nối với Liên kết riêng AWS hoặc thông qua NAT Gateway.

Tổng quan về giải pháp

Một trong những điều chúng tôi thường làm tại AWS là làm việc để giúp khách hàng thực hiện mục tiêu của họ đồng thời loại bỏ gánh nặng của những công việc nặng nhọc không phân biệt được. Với suy nghĩ này, chúng tôi đề xuất những điều sau giải pháp để hỗ trợ khách hàng AWS và Snowflake thực hiện các bước sau:

  1. Xuất dữ liệu từ Snowflake. Bạn có thể sử dụng siêu dữ liệu linh hoạt để tải xuống dữ liệu lịch sử cần thiết được thúc đẩy bởi quy trình làm việc sẵn sàng hoạt động.
  2. Nhập dữ liệu vào Dự báo. Bất kể trường hợp sử dụng, ngành hoặc quy mô, việc nhập dữ liệu đầu vào đã chuẩn bị rất dễ dàng và tự động.
  3. Đào tạo mô hình chuỗi thời gian hiện đại. Bạn có thể tự động hóa dự báo chuỗi thời gian mà không cần quản lý khoa học dữ liệu cơ bản hoặc cung cấp phần cứng.
  4. Tạo ra suy luận so với mô hình được đào tạo. Đầu ra do dự báo tạo ra dễ tiêu thụ cho bất kỳ mục đích nào. Chúng có sẵn dưới dạng tệp CSV hoặc tệp Parquet đơn giản trên Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3).
  5. Sử dụng lịch sử và các dự đoán tương lai trực tiếp trong Snowflake.

Sơ đồ sau minh họa cách triển khai quy trình làm việc tự động cho phép khách hàng của Snowflake hưởng lợi từ các dự đoán chuỗi thời gian có độ chính xác cao được hỗ trợ bởi Forecast, một dịch vụ được AWS quản lý. Vượt qua trường hợp sử dụng và ngành, thiết kế được cung cấp ở đây trước tiên trích xuất dữ liệu lịch sử từ Snowflake. Tiếp theo, quy trình làm việc gửi dữ liệu đã chuẩn bị để tính toán chuỗi thời gian. Cuối cùng, các dự đoán về giai đoạn trong tương lai có sẵn trong Snowflake, tạo ra trải nghiệm người dùng liền mạch cho khách hàng AWS và Snowflake chung.

Mặc dù kiến ​​trúc này chỉ làm nổi bật các chi tiết kỹ thuật chính, nhưng giải pháp rất đơn giản để kết hợp lại với nhau, đôi khi trong vòng 1–2 ngày làm việc. Chúng tôi cung cấp cho bạn mã mẫu làm việc để giúp loại bỏ những công việc nặng nhọc không phân biệt được khi tạo ra giải pháp một mình và không cần bắt đầu. Sau khi bạn khám phá cách triển khai mẫu này cho một khối lượng công việc, bạn có thể lặp lại quy trình dự báo cho bất kỳ dữ liệu nào được lưu giữ trong Snowflake. Trong các phần tiếp theo, chúng tôi phác thảo các bước chính cho phép bạn xây dựng một đường dẫn tự động.

Trích xuất dữ liệu lịch sử từ Snowflake

Trong bước đầu tiên này, bạn sử dụng SQL để xác định dữ liệu nào bạn muốn được dự báo và cho phép Truy vấn liên kết Athena kết nối với Snowflake, chạy SQL tùy chỉnh của bạn và duy trì bản ghi kết quả được thiết lập trên Amazon S3. Dự báo yêu cầu dữ liệu đào tạo lịch sử phải có trên Amazon S3 trước khi nhập; do đó, Amazon S3 đóng vai trò như một bộ đệm lưu trữ trung gian giữa Snowflake và Dự báo. Chúng tôi làm nổi bật Athena trong thiết kế này để kích hoạt Snowflake và các nguồn dữ liệu không đồng nhất khác. Nếu bạn thích, một cách tiếp cận khác là sử dụng lệnh Snowflake COPY và tích hợp bộ nhớ để ghi kết quả truy vấn vào Amazon S3.

Bất kể cơ chế truyền tải được sử dụng là gì, giờ đây chúng tôi phác thảo loại dữ liệu Dự báo nhu cầu và cách dữ liệu được xác định, chuẩn bị và trích xuất. Trong phần tiếp theo, chúng tôi mô tả cách nhập dữ liệu vào Dự báo.

Ảnh chụp màn hình sau đây mô tả một bộ dữ liệu có thể trông như thế nào trong lược đồ Bông tuyết gốc của nó.

Tự động hóa dự báo chuỗi thời gian của bạn trong Snowflake bằng cách sử dụng Amazon Dự báo dữ liệu PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Mặc dù ảnh chụp màn hình này cho thấy dữ liệu trông như thế nào ở trạng thái tự nhiên của nó, Dự báo yêu cầu dữ liệu được định dạng thành ba bộ dữ liệu khác nhau:

  • Chuỗi thời gian mục tiêu - Đây là tập dữ liệu bắt buộc có chứa biến đích và được sử dụng để huấn luyện và dự đoán giá trị trong tương lai. Một mình, tập dữ liệu này đóng vai trò như một mô hình chuỗi thời gian đơn biến.
  • Chuỗi thời gian liên quan - Đây là một tập dữ liệu tùy chọn chứa các biến thời gian nên có mối quan hệ với biến đích. Ví dụ bao gồm định giá thay đổi, nỗ lực khuyến mại, lưu lượng truy cập sự kiện siêu địa phương, dữ liệu triển vọng kinh tế — bất cứ điều gì bạn cảm thấy có thể giúp giải thích sự khác biệt trong chuỗi thời gian mục tiêu và đưa ra dự báo tốt hơn. Tập dữ liệu chuỗi thời gian liên quan biến mô hình đơn biến của bạn thành đa biến để giúp cải thiện độ chính xác.
  • Siêu dữ liệu mặt hàng - Đây là tập dữ liệu tùy chọn chứa dữ liệu phân loại về mục dự báo. Siêu dữ liệu mặt hàng thường giúp tăng hiệu suất cho các sản phẩm mới ra mắt, mà chúng tôi gọi là khởi đầu lạnh.

Với phạm vi của từng tập dữ liệu Dự báo được xác định, bạn có thể viết các truy vấn trong Snowflake để tạo nguồn các trường dữ liệu chính xác từ các bảng nguồn cần thiết với các bộ lọc thích hợp để có được tập hợp con dữ liệu mong muốn. Sau đây là ba truy vấn SQL mẫu được sử dụng để tạo từng tập dữ liệu mà Dự báo cần cho một kịch bản lập kế hoạch nhu cầu thực phẩm cụ thể.

Chúng tôi bắt đầu với truy vấn chuỗi thời gian mục tiêu:

select LOCATION_ID, ITEM_ID, 
DATE_DEMAND as TIMESTAMP, QTY_DEMAND as TARGET_VALUE 
from DEMO.FOOD_DEMAND

Truy vấn chuỗi thời gian có liên quan tùy chọn kéo các biến số chẳng hạn như giá và khuyến mại:

select LOCATION_ID,ITEM_ID, DATE_DEMAND as TIMESTAMP,
CHECKOUT_PRICE, BASE_PRICE,
EMAILER_FOR_PROMOTION, HOMEPAGE_FEATURED
from DEMO.FOOD_DEMAND

Truy vấn siêu dữ liệu mục tìm nạp các giá trị phân loại riêng biệt giúp cung cấp thứ nguyên và xác định rõ hơn mục được dự báo:

select DISTINCT ITEM_ID, FOOD_CATEGORY, FOOD_CUISINE
from DEMO.FOOD_DEMAND

Với các truy vấn nguồn được xác định, chúng ta có thể kết nối với Snowflake thông qua Truy vấn liên kết Athena để gửi các truy vấn và duy trì các tập dữ liệu kết quả để sử dụng dự báo. Để biết thêm thông tin, hãy tham khảo Truy vấn Snowflake bằng Athena Federated Query và kết hợp với dữ liệu trong hồ dữ liệu Amazon S3 của bạn.

Sản phẩm Athena Snowflake Connector repo GitHub giúp cài đặt trình kết nối Snowflake. Các Dự báo MLOps GitHub repo giúp sắp xếp tất cả các bước macro được xác định trong bài đăng này và làm cho chúng có thể lặp lại mà không cần viết mã.

Nhập dữ liệu vào Dự báo

Sau khi chúng tôi hoàn thành bước trước, tập dữ liệu chuỗi thời gian mục tiêu có trong Amazon S3 và sẵn sàng để nhập vào Dự báo. Ngoài ra, chuỗi thời gian và bộ dữ liệu siêu dữ liệu mục có liên quan tùy chọn cũng có thể được chuẩn bị và sẵn sàng để nhập. Với sự cung cấp Dự báo giải pháp MLOps, tất cả những gì bạn phải làm ở đây là khởi chạy máy trạng thái Step Functions chịu trách nhiệm nhập dữ liệu — không cần mã. Dự báo khởi chạy một cụm cho từng bộ dữ liệu bạn đã cung cấp và làm cho dữ liệu sẵn sàng cho dịch vụ để sử dụng cho việc xây dựng mô hình ML và suy luận mô hình.

Tạo mô hình ML chuỗi thời gian với thống kê độ chính xác

Sau khi dữ liệu được nhập, các mô hình chuỗi thời gian có độ chính xác cao được tạo đơn giản bằng cách gọi một API. Bước này được đóng gói bên trong máy trạng thái Hàm bước khởi chạy API dự báo để bắt đầu đào tạo mô hình. Sau khi mô hình dự đoán được đào tạo, máy trạng thái xuất số liệu thống kê và dự đoán của mô hình trong cửa sổ kiểm tra lại sang Amazon S3. Snowflake có thể truy vấn các bản xuất backtest dưới dạng một giai đoạn bên ngoài, như thể hiện trong ảnh chụp màn hình sau. Nếu muốn, bạn có thể lưu trữ dữ liệu trong giai đoạn nội bộ. Vấn đề là sử dụng các số liệu kiểm tra lại để đánh giá hiệu suất trải dài của chuỗi thời gian trong tập dữ liệu của bạn được cung cấp.

Tự động hóa dự báo chuỗi thời gian của bạn trong Snowflake bằng cách sử dụng Amazon Dự báo dữ liệu PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tạo dự đoán trong tương lai

Với mô hình được đào tạo từ bước trước, máy trạng thái Chức năng bước được xây dựng có mục đích gọi API dự báo để tạo dự báo ngày trong tương lai. Dự báo cung cấp một cụm để thực hiện suy luận và kéo chuỗi thời gian mục tiêu đã nhập, chuỗi thời gian liên quan và tập dữ liệu siêu dữ liệu mục thông qua mô hình dự đoán đã đặt tên được tạo ở bước trước. Sau khi các dự đoán được tạo, máy trạng thái sẽ ghi chúng vào Amazon S3, tại đây, một lần nữa, chúng có thể được truy vấn tại chỗ như một giai đoạn bên ngoài Snowflake hoặc chuyển vào Snowflake như một phần bên trong.

Sử dụng dữ liệu dự đoán ngày trong tương lai trực tiếp trong Snowflake

AWS chưa xây dựng một giải pháp hoàn toàn tự động cho bước này; tuy nhiên, với giải pháp trong bài đăng này, dữ liệu đã được tạo bởi Dự báo trong hai bước trước đó. Bạn có thể coi kết quả đầu ra là các sự kiện có thể hành động hoặc xây dựng bảng điều khiển thông minh kinh doanh trên dữ liệu. Bạn cũng có thể sử dụng dữ liệu để tạo kế hoạch sản xuất trong tương lai và đơn đặt hàng, ước tính doanh thu trong tương lai, xây dựng kế hoạch nguồn nhân lực, v.v. Mỗi trường hợp sử dụng đều khác nhau, nhưng điểm quan trọng của bước này là cung cấp các dự đoán cho các hệ thống tiêu thụ chính xác trong tổ chức của bạn hoặc hơn thế nữa.

Đoạn mã sau cho biết cách truy vấn dữ liệu Amazon S3 trực tiếp từ bên trong Snowflake:

CREATE or REPLACE FILE FORMAT mycsvformat
type = 'CSV'
field_delimiter = ','
empty_field_as_null = TRUE
ESCAPE_UNENCLOSED_FIELD = None
skip_header = 1;

CREATE or REPLACE STORAGE INTEGRATION amazon_forecast_integration
TYPE = EXTERNAL_STAGE
STORAGE_PROVIDER = S3
STORAGE_AWS_ROLE_ARN = 'arn:aws:iam::nnnnnnnnnn:role/snowflake-forecast-poc-role'
ENABLED = true
STORAGE_ALLOWED_LOCATIONS = (
's3://bucket/folder/forecast',
's3://bucket/folder/backtest-export/accuracy-metrics-values',
's3://bucket/folder/backtest-export/forecasted-values';

CREATE or REPLACE STAGE backtest_accuracy_metrics
storage_integration = amazon_forecast_integration
url = 's3://bucket/folder/backtest-export/accuracy-metrics-values'
file_format = mycsvformat;

CREATE or REPLACE EXTERNAL TABLE FOOD_DEMAND_BACKTEST_ACCURACY_METRICS (
ITEM_ID varchar AS (value:c1::varchar),
LOCATION_ID varchar AS (value:c2::varchar),
backtest_window varchar AS (value:c3::varchar),
backtestwindow_start_time varchar AS (value:c4::varchar),
backtestwindow_end_time varchar AS (value:c5::varchar),
wQL_10 varchar AS (value:c6::varchar),
wQL_30 varchar AS (value:c7::varchar),
wQL_50 varchar AS (value:c8::varchar),
wQL_70 varchar AS (value:c9::varchar),
wQL_90 varchar AS (value:c10::varchar),
AVG_wQL varchar AS (value:c11::varchar),
RMSE varchar AS (value:c12::varchar),
WAPE varchar AS (value:c13::varchar),
MAPE varchar AS (value:c14::varchar),
MASE varchar AS (value:c15::varchar)
)
with location = @backtest_accuracy_metrics
FILE_FORMAT = (TYPE = CSV FIELD_DELIMITER = ',' SKIP_HEADER = 1);

Để biết thêm thông tin về cách thiết lập quyền, hãy tham khảo Tùy chọn 1: Định cấu hình Tích hợp bộ nhớ Snowflake để truy cập Amazon S3. Ngoài ra, bạn có thể sử dụng Danh mục dịch vụ AWS để định cấu hình tích hợp lưu trữ Amazon S3; thêm thông tin có sẵn trên Repo GitHub.

Bắt đầu quy trình làm việc dựa trên lịch biểu hoặc dựa trên sự kiện

Sau khi bạn cài đặt giải pháp cho khối lượng công việc cụ thể của mình, bước cuối cùng của bạn là tự động hóa quy trình theo lịch trình phù hợp với yêu cầu duy nhất của bạn, chẳng hạn như hàng ngày hoặc hàng tuần. Điều chính là quyết định làm thế nào để bắt đầu quá trình. Một phương pháp là sử dụng Snowflake để gọi máy trạng thái Step Functions và sau đó sắp xếp các bước theo thứ tự. Một cách tiếp cận khác là liên kết các máy trạng thái lại với nhau và bắt đầu chạy tổng thể thông qua một Sự kiện Amazon quy tắc mà bạn có thể định cấu hình để chạy từ một sự kiện hoặc nhiệm vụ đã lên lịch — ví dụ: lúc 9:00 PM GMT-8 mỗi đêm Chủ nhật.

Kết luận

Với kinh nghiệm nhiều nhất; đám mây đáng tin cậy, có thể mở rộng và an toàn nhất; và bộ dịch vụ và giải pháp toàn diện nhất, AWS là nơi tốt nhất để mở khóa giá trị từ dữ liệu của bạn và biến nó thành thông tin chi tiết. Trong bài đăng này, chúng tôi đã hướng dẫn bạn cách tạo quy trình dự báo chuỗi thời gian tự động. Dự báo tốt hơn có thể dẫn đến kết quả dịch vụ khách hàng cao hơn, ít lãng phí hơn, ít hàng tồn kho nhàn rỗi hơn và nhiều tiền hơn trên bảng cân đối kế toán.

Nếu bạn đã sẵn sàng tự động hóa và cải thiện dự báo, chúng tôi sẵn sàng hỗ trợ bạn trong hành trình của mình. Liên hệ với nhóm tài khoản AWS hoặc Snowflake của bạn để bắt đầu ngay hôm nay và yêu cầu tổ chức hội thảo dự báo để xem bạn có thể mở khóa loại giá trị nào từ dữ liệu của mình.


Về các tác giả

Tự động hóa dự báo chuỗi thời gian của bạn trong Snowflake bằng cách sử dụng Amazon Dự báo dữ liệu PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Bosco Albuquerque là Kiến trúc sư Giải pháp Đối tác Cấp cao tại AWS và có hơn 20 năm kinh nghiệm làm việc với cơ sở dữ liệu và các sản phẩm phân tích từ các nhà cung cấp cơ sở dữ liệu doanh nghiệp và nhà cung cấp đám mây. Ông đã giúp các công ty công nghệ thiết kế và triển khai các giải pháp và sản phẩm phân tích dữ liệu.

Tự động hóa dự báo chuỗi thời gian của bạn trong Snowflake bằng cách sử dụng Amazon Dự báo dữ liệu PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Frank Dallezotte là Kiến trúc sư Giải pháp Sơ cấp tại AWS và đam mê làm việc với các nhà cung cấp phần mềm độc lập để thiết kế và xây dựng các ứng dụng có thể mở rộng trên AWS. Anh ấy có kinh nghiệm tạo phần mềm, triển khai xây dựng đường ống và triển khai các giải pháp này trên đám mây.

Tự động hóa dự báo chuỗi thời gian của bạn trong Snowflake bằng cách sử dụng Amazon Dự báo dữ liệu PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Andries Engelbrecht là Kiến trúc sư Giải pháp Đối tác Chính tại Snowflake và làm việc với các đối tác chiến lược. Ông tích cực tham gia với các đối tác chiến lược như AWS hỗ trợ tích hợp sản phẩm và dịch vụ cũng như phát triển các giải pháp chung với các đối tác. Andries có hơn 20 năm kinh nghiệm trong lĩnh vực dữ liệu và phân tích.

Tự động hóa dự báo chuỗi thời gian của bạn trong Snowflake bằng cách sử dụng Amazon Dự báo dữ liệu PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Charles Laughlin là Kiến trúc sư Giải pháp Chuyên gia về AI / ML chính và làm việc trong nhóm ML Dòng thời gian tại AWS. Anh ấy giúp định hình lộ trình dịch vụ Amazon Forecast và cộng tác hàng ngày với các khách hàng AWS đa dạng để giúp chuyển đổi doanh nghiệp của họ bằng cách sử dụng các công nghệ AWS tiên tiến và khả năng lãnh đạo tư duy. Charles có bằng Thạc sĩ Quản lý chuỗi cung ứng và đã dành thập kỷ qua làm việc trong ngành hàng tiêu dùng đóng gói.

Tự động hóa dự báo chuỗi thời gian của bạn trong Snowflake bằng cách sử dụng Amazon Dự báo dữ liệu PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.James Sun là Kiến trúc sư Giải pháp Đối tác Cấp cao tại Snowflake. James có hơn 20 năm kinh nghiệm trong lĩnh vực lưu trữ và phân tích dữ liệu. Trước Snowflake, anh ấy đã giữ một số vị trí kỹ thuật cấp cao tại AWS và MapR. James có bằng Tiến sĩ tại Đại học Stanford.

Dấu thời gian:

Thêm từ Học máy AWS