MongoDB nằm trong một lớp cơ sở dữ liệu được gọi là cơ sở dữ liệu NoSQL. Cơ sở dữ liệu NoSQL được thiết kế để lưu trữ và truy xuất dữ liệu mà không cần lược đồ xác định trước, điều này trái ngược với cơ sở dữ liệu quan hệ, vốn yêu cầu xác định lược đồ trước khi bạn có thể lưu trữ dữ liệu. MongoDB là một kho lưu trữ tài liệu, có nghĩa là nó lưu trữ dữ liệu trong các tài liệu giống như JSON
Gần đây tôi đã xem một dự án mà tôi cần kết nối với MongoDB và thực hiện phân tích dữ liệu. Một tùy chọn sẽ là nhờ ai đó quen thuộc với cơ sở dữ liệu trích xuất dữ liệu thành định dạng như CSV, định dạng này dễ dàng đưa vào Python. Tuy nhiên, đó không phải là cách hiệu quả để lấy dữ liệu mới nhất. Tôi cũng biết sự kiên trì của MongoDB ở định dạng giống như JSON và với tư cách là Nhà khoa học dữ liệu, tôi thích Khung dữ liệu Pandas hơn. Như hầu hết những người hành nghề Khoa học dữ liệu đều biết, khi dữ liệu của chúng tôi ở trong DataFrame, chúng tôi có thể thực hiện bất kỳ thao tác tiêu chuẩn nào trên dữ liệu đó từ EDA, đến Kỹ thuật tính năng, đến Lựa chọn và đánh giá mô hình
Ghi chú. Một cách tốt hơn nữa là trích xuất dữ liệu vào Kho dữ liệu như Snowflake thông qua một công cụ như Fivetran. Tuy nhiên, điều đó không thực tế vào thời điểm này trong dự án;
Tạo tài khoản Mongodb miễn phí của bạn
Ví dụ: chúng tôi sẽ sử dụng tài khoản MongoDB Atlas miễn phí. Atlas là phiên bản MongoDB được lưu trữ trên đám mây, bao gồm Bậc miễn phí, lý tưởng cho việc tìm hiểu trước khi bạn bắt đầu một dự án lớn hơn hoặc cung cấp cho bạn một sân chơi để thử nghiệm. Hãy thực hiện các bước để tạo một tài khoản miễn phí
Từ Trang chủ MongoDB, nhấp vào nút Dùng thử miễn phí và đăng ký tài khoản mới. Chọn tùy chọn Chia sẻ miễn phí, giúp bạn bắt đầu với cơ sở dữ liệu được lưu trữ cơ bản
Tiếp theo, tiếp tục với tùy chọn Đã chia sẻ và chọn khu vực và nhà cung cấp dịch vụ lưu trữ đám mây của bạn. Tôi thường làm việc với AWS, nhưng trong ví dụ này, bất kỳ nhà cung cấp nào cũng sẽ hoạt động
Cuối cùng, với cài đặt Cấp cụm, hãy chọn tùy chọn Hộp cát M0;
Tiếp theo, chúng ta sẽ cấu hình mọi thứ
Định cấu hình quyền truy cập
Tiếp theo, chúng ta cần các chi tiết cấu hình cơ bản như thông tin người dùng, mật khẩu và địa chỉ IP. Hãy bắt đầu với tùy chọn tên người dùng và mật khẩu. Tạo người dùng và để Mongo chỉ định PW cho bạn. Nó sẽ sử dụng một cái không yêu cầu mã hóa URL [mà chúng tôi sẽ xử lý sau nếu bạn thích]
Tiếp theo, chúng tôi chỉ nên cho phép kết nối với điều này thông qua các địa chỉ IP mà chúng tôi tin tưởng. Bạn có thể tìm thấy địa chỉ IP của mình với Trang web WhatisMyIPAddress. Lý tưởng nhất là bạn nên có một địa chỉ IP tĩnh nhưng đối với người mới bắt đầu, hãy sử dụng địa chỉ IP4 được liệt kê khi bạn truy cập trang web này. Bạn luôn có thể thêm nhiều địa chỉ IP hơn sau này hoặc thậm chí mở nó ra với mọi người nếu bạn muốn [đừng làm vậy]
Chúng tôi đã sẵn sàng để lấy một số dữ liệu mẫu
Cài đặt dữ liệu mẫu
MongoDB cung cấp một cách rất đơn giản để lấy dữ liệu mẫu cho phép chúng tôi khám phá cơ sở dữ liệu và tìm hiểu cách giao tiếp với nó. Nhấp vào nút
import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
9 và chọn Tải tập dữ liệu mẫuBạn có thể tìm hiểu thêm về cách kết nối với Mongo thông qua nút Kết nối; . Một điều thú vị để khám phá là tiện ích mở rộng Mã VS để duyệt máy chủ của bạn. Kiểm tra điều đó sau khi hoàn thành bài đăng này
Cài đặt ứng dụng khách MongoDB Python
Để làm việc với MongoDB Atlas, bạn cần cài đặt trình điều khiển Python với
host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
0 python, bạn có thể cài đặt trình điều khiển này bằng lệnh saupython -m pip install 'pymongo[srv]'
Ghi chú. Nếu bạn đã cài đặt
host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
1 trước đó, hãy thử gỡ cài đặt đó trước rồi chạy lệnh trênNhập khẩu Python
Như thường lệ, hãy nhập tất cả các thư viện cần thiết cho việc này. Chúng tôi có tiêu chuẩn của chúng tôi
host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
2 và host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
3 cũng như host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
4 để nhận các biến môi trường. Chúng tôi cũng đang nhập host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
5 từ host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
6, điều này sẽ giúp mã hóa tên người dùng và mật khẩu. Cuối cùng, chúng ta có host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
1, trình điều khiển MongoDB Pythonimport pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
Kết nối với cụm của bạn
Trước tiên, chúng tôi muốn tải các biến môi trường vào bộ nhớ cho
host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
8, host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
9 và host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
30 của chúng tôi. Tận dụng các biến môi trường là cách thực hành tốt nhất khi xử lý thông tin nhạy cảm. Tìm kiếm các hướng dẫn về cách lưu và duy trì chúng với hệ điều hành của bạn. Có nhiều phương pháp khác nhau cho Mac, Linux và Windows. Tuy nhiên, đoạn mã sau là cách bạn có thể dễ dàng tải chúng vào bộ nhớhost = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
Tiếp theo, theo tài liệu MongoDB, chúng tôi cần đảm bảo mọi thông tin trong chuỗi kết nối của mình đều được mã hóa URL chính xác như tên người dùng và mật khẩu, có thể dễ dàng đạt được bằng hàm
host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
5 từ host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
6. Hãy xem nhanh một mật khẩu mẫu và cách nó được mã hóahost = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
3host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
8Tiếp theo, chúng tôi xây dựng chuỗi kết nối của mình với định dạng sau và tạo một đối tượng
host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
33 mới có tên là host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
34python -m pip install 'pymongo[srv]'
1Đó là nó. Hãy khám phá cơ sở dữ liệu trên máy chủ của chúng tôi
Nhận danh sách cơ sở dữ liệu
Giả sử chúng ta không có quyền truy cập vào bảng điều khiển MongoDB [mà chúng ta có thể không có nếu đây không phải là dữ liệu mẫu của chúng ta] và chúng ta có thể truy vấn danh sách các cơ sở dữ liệu có sẵn bằng mã sau
python -m pip install 'pymongo[srv]'
2python -m pip install 'pymongo[srv]'
3Chúng tôi có thể thấy tất cả các DB mẫu khác nhau mà chúng tôi đã thêm. Chúng tôi sẽ sử dụng
host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
35 cho phần còn lại của bài viếtNhận danh sách các bộ sưu tập trong cơ sở dữ liệu
Trước tiên, chúng tôi cần chỉ định cơ sở dữ liệu mà chúng tôi muốn kết nối hoặc
host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
35 như đã đề cập ở trên, sau đó chúng tôi kết nối với host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
37 cụ thể bằng cách sử dụng đối tượng host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
34 mà chúng tôi đã tạo trước đó. Chúng ta có thể xem tất cả các bộ sưu tập trong cơ sở dữ liệu bằng một bản in đơn giản của phương thức host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
39python -m pip install 'pymongo[srv]'
9host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
0Và nếu chúng ta muốn xem một bản ghi từ bộ sưu tập, chúng ta có thể làm như vậy với đoạn mã sau
import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
0import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
1Đó là nó. Chúng tôi hiện đã kết nối với máy chủ MongoDB Atlas của mình và có thể bắt đầu truy vấn dữ liệu
Lưu Bộ sưu tập vào Khung dữ liệu Pandas
Bây giờ, đối với phần mà tất cả các bạn đang chờ đợi, hãy đưa bộ sưu tập của bạn vào Khung dữ liệu Pandas. cái nào dễ làm. Chúng tôi sẽ sử dụng phương pháp
host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
80 để truy vấn bộ sưu tập và sau đó là phương pháp host = os.environ.get["MONGO_TEST_HOST"]
username = os.environ.get["MONGO_TEST_USER"]
password = os.environ.get["MONGO_TEST_PW"]
81 để chuyển đổi nó thành DataFrameimport pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
2Bây giờ chúng ta có một DataFrame, hãy lấy một mẫu các hàng và xem những gì nó trả về, cùng với một số khám phá cơ bản về dữ liệu
import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
3import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
4import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
5import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
6import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
7import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
8Đó là nó. Bây giờ chúng tôi có DataFrame, bầu trời là giới hạn đối với những gì chúng tôi có thể làm với dữ liệu của mình
Như mọi khi, mã được sử dụng trong bài viết này có sẵn trên GitHub
Phần kết luận
Đó là nó. Chúng tôi đã tạo cụm MongoDB Atlas bậc miễn phí và định cấu hình nó để truy cập vào môi trường của chúng tôi. Sau đó, chúng tôi đã chỉ cho bạn cách xác thực với máy chủ của bạn và truy vấn cơ sở dữ liệu trên máy chủ của bạn. Cuối cùng, chúng tôi đã chỉ cho bạn cách lưu bộ sưu tập vào Khung dữ liệu Pandas. Với các bước cơ bản này, bạn có thể tận dụng sức mạnh của Pandas và Python để phân tích dữ liệu và thậm chí xây dựng bất kỳ mô hình máy học nào. Mặc dù chúng tôi mới chỉ sơ bộ về những gì có thể với MongoDB, nhưng với các bước đơn giản này, bạn có thể nhanh chóng bắt đầu các dự án khoa học dữ liệu của mình với MongoDB Atlas
Nếu bạn thích những gì bạn đọc, hãy đăng ký nhận bản tin của tôi và bạn sẽ nhận được bảng cheat của tôi về Python, Học máy [ML], Xử lý ngôn ngữ tự nhiên [NLP], SQL, v.v. Bạn sẽ nhận được email mỗi khi bài viết mới được đăng