当前位置: 首页 > news >正文

重庆sem网站推广台州网络推广

重庆sem网站推广,台州网络推广,项目网创业,建筑网络计划图中tp是什么意思目录 一#xff0e;数据库的部署与配置 二#xff0e;使用命令访问数据库 三#xff0e;数据库的设计 四#xff0e;编程实现数据库的访问 一#xff0e;数据库的部署与配置 1.在单个节点上对进行数据库的单机部署 #xff08;1#xff09;下载apache-cassandra-4.1.7-… 目录 一数据库的部署与配置 二使用命令访问数据库 三数据库的设计 四编程实现数据库的访问 一数据库的部署与配置 1.在单个节点上对进行数据库的单机部署 1下载apache-cassandra-4.1.7-bin.tar.gz上传到hadoop1 的/export/software目录 2使用解压缩命令tar -xzf /export/software/apache-cassandra-4.1.7-bin.tar.gz -C /export/servers/ 进行解压缩到/export/servers目录 3使用cd /export/servers命令进入/export/servers目录 4将Cassandra目录进行重命名mv apache-cassandra-4.1.7 apache-cassandra-4.1.7-standalone 5启动Cassandrabin/cassandra -R 6查看Cassandra启动信息tail -f logs/system.log 7检查状态bin/nodetool status 8连接数据库bin/cqlsh 9关闭Cassandrabin/nodetool stopdaemon 2.在多个节点上实现数据库的分布式部署 1在Hadoop1、Hadoop2和Hadoop3上分别执行systemctl stop firewalld和systemctldisable firewalld命令关闭防火墙 2在Hadoop1、Hadoop2、Hadoop3上分别执行ssh-keygenssh-copy-id hadoop1ssh-copy-id hadoop2ssh-copy-id hadoop3使各个节点可以免密登录 注在Hadoop2和Hadoop3上的执行结果与Hadoop1几乎相同故不再展示。 3进行免密登录测试在Hadoop1、Hadoop2和Hadoop3上分别执行ssh hadoop1ssh hadoop2ssh hadoop3可以免密登录即可 注在Hadoop2和Hadoop3上的执行结果与Hadoop1几乎相同故不再展示。 4在Hadoop1、Hadoop2和Hadoop3上分别上传压缩安装包 5在Hadoop1、Hadoop2和Hadoop3上分别解压缩apache-cassandra-4.1.7-bin.tar.gztar -xzf /export/software/apache-cassandra-4.1.7-bin.tar.gz -C /export/servers/ 6分别修改Hadoop1、Hadoop2和Hadoop3的cassandra.yaml文件中的seeds、listen_address和rpc_address具体修改如下 Hadoop1seeds192.168.121.160listen_address192.168.121.160rpc_address192.168.121.160 Hadoop1seeds192.168.121.160listen_address192.168.121.161rpc_address192.168.121.161 Hadoop1seeds192.168.121.160listen_address192.168.121.162rpc_address192.168.121.162 注因修改过程类似此处只展示Hadoop1节点上的修改结果。 7在Hadoop1、Hadoop2和Hadoop3上使用命令分别启动Cassandra bin/cassandra -R 8查看运行状态bin/nodetool status 9连接任一服务器均可bin/cqlsh hadoop1bin/cqlsh hadoop2bin/cqlsh hadoop3 二使用命令访问数据库 练习Cassandra的相关命令。 1.键空间创建、删除和查看键空间 1创建并查看键空间 CREATE KEYSPACE IF NOT EXISTS library_system WITH REPLICATION { class : SimpleStrategy, replication_factor : 1 }; DESCRIBE KEYSPACES; 2删除并再次查看键空间 DROP KEYSPACE IF EXISTS library_system; DESCRIBE KEYSPACES; 2.表创建表、设置复合型主键、修改表结构要求复合主键要包括分区键和分簇键数据类型要包含两种以上的集合类型和一种以上的自定义类型 以图书管理系统为例进行如下操作 1创建表包含复合型主键 在图书管理系统中我们设计一个图书借阅记录表复合主键由 book_id 和 borrower_id 组成分区键使用 book_id集群键使用 borrower_id。还使用了集合类型SET存储借阅的日期以及自定义类型user_info来存储借阅人的信息。 语句如下 CREATE TYPE IF NOT EXISTS library_system.user_info ( name TEXT, email TEXT, phone_number TEXT ); CREATE TABLE IF NOT EXISTS library_system.book_borrowing ( book_id UUID,              -- 分区键 borrower_id UUID,          -- 集群键 borrow_date DATE,          -- 借阅日期 return_date DATE,          -- 归还日期 status TEXT,               -- 状态如 已借出、已归还 tags SETTEXT,            -- 标签如 热门、推荐等 borrower_info FROZENuser_info,  -- 自定义类型借阅人信息 PRIMARY KEY (book_id, borrower_id)  -- 复合主键 ); 其中book_id是分区键borrower_id 是集群键tags 是集合类型用来存储书籍标签borrower_info 是自定义类型 user_info用于存储借阅人的信息。 2修改表结构 添加一个新列来记录图书的借阅次数。 语句如下 ALTER TABLE library_system.book_borrowing ADD borrow_count INT; 3.数据查询  1查询所有数据 SELECT * FROM library_system.book_borrowing; 2根据分区键查询 SELECT * FROM library_system.book_borrowing WHERE book_id 3796171a-9a3d-45e6-8886-42601fed5c04; 3根据分区键和集群键查询 SELECT * FROM library_system.book_borrowing WHERE book_id  b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; 4查询特定列 SELECT book_id, borrow_date, return_date FROM library_system.book_borrowing WHERE book_id b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; 5查询集合类型数据 SELECT tags FROM library_system.book_borrowing WHERE book_id b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; 6查询自定义类型数据 SELECT borrower_info FROM library_system.book_borrowing WHERE book_id b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; 4.数据更新数据插入、数据更新、数据删除 1数据插入 INSERT INTO library_system.book_borrowing (book_id, borrower_id, borrow_date, return_date, status, tags, borrower_info) VALUES (uuid(), uuid(), 2024-01-01, 2024-01-15, Borrowed, {Popular, New Release}, {name: John Doe, email: johndoeexample.com, phone_number: 1234567890}); 2数据更新 UPDATE library_system.book_borrowing SET return_date 2024-01-20, status Returned WHERE book_id b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; 3数据删除 ①删除单条数据 DELETE FROM library_system.book_borrowing WHERE book_id b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; ②删除整张表 TRUNCATE library_system.book_borrowing; 三数据库的设计 图书管理系统包含三个主要实体图书、读者和借阅记录。它们之间通过一个关系来进行联系借阅记录表示图书与读者之间的借阅关系本系统共设计三张表分别是图书表存储图书的相关信息、借阅记录表存储借阅的记录和读者表存储读者的基本信息。 1.数据库设计 1图书表 表名Books 列族Column Families info存储图书的基本信息 author存储作者的详细信息 publisher存储出版商的信息 行键设计 行键book_id唯一标识每本图书 列名与存储内容 在info列族下 title书名 category类别如科幻、文学等 published_date出版日期 在author列族下 name作者名称 birth_date作者出生日期 在publisher列族下 publisher_name出版商名称 publisher_address出版商地址 2读者表 表名Readers 列族Column Families info存储读者的基本信息 contact存储读者的联系信息例如地址、电话 行键设计 行键reader_id唯一标识每个读者 列名与存储内容 在info列族下 reader_name读者姓名 dob出生日期 在contact列族下 email电子邮件地址 phone_number电话号 address家庭住址 3借阅记录表 表名BorrowRecords 列族Column Families info存储借阅信息 reader存储读者信息 行键设计 行键borrow_id唯一标识每次借阅记录 列名与存储内容 在info列族下 book_id借阅的图书ID borrow_date借阅日期 return_date归还日期 在reader列族下 reader_name读者姓名 reader_id读者ID 4实体和关系的增删改查 ①新增操作 新增图书向Books表中插入新的行包含图书ID行键及其对应的列族和列名。 新增借阅记录向BorrowRecords表中插入新的行包含借阅记录ID行键、借阅图书ID、借阅日期、归还日期、读者信息等。 新增读者向Readers表中插入新的行包含读者ID行键、姓名、出生日期、联系信息等。 ②删除操作 删除图书通过图书ID删除Books表中的记录。 删除借阅记录通过借阅记录ID删除BorrowRecords表中的记录。 删除读者通过读者ID删除Readers表中的记录。 ③更新操作 更新图书信息可以根据图书ID行键来更新Books表中的某些列比如更新书名、作者或出版日期等。 更新借阅记录可以根据借阅记录ID行键来更新借阅日期或归还日期等。 更新读者信息可以根据读者ID行键来更新Readers表中的读者姓名、地址、电话等。 ④查询操作 查询某本图书的详细信息通过book_id查询Books表中的详细信息。 查询某本图书的借阅记录通过book_id在BorrowRecords表中查找所有借阅记录。 查询某位读者的借阅记录通过reader_id在BorrowRecords表中查找该读者的所有借阅记录。 查询某位读者的详细信息通过reader_id查询Readers表中的详细信息。 2.表设计与填充数据 1图书表 行键book_id 列族 列名 列值 B001 info title 《活着》 category 文学 published_date 1993-06-01 author name 余华 birth_date 1960-04-03 publisher publisher_name 作家出版社 publisher_address 北京市朝阳区 B002 info title 《百年孤独》 category 小说 published_date 1967-06-05 author name 加西亚·马尔克斯 birth_date 1927-03-06 publisher publisher_name 南海出版公司 publisher_address 上海市徐汇区 2读者表 行键reader_id 列族 列名 列值 R001 info reader_name 张三 dob 1990-05-15 contract email zhsanemail.com phone_number 123-4567-8901 address 北京市海淀区 R002 info reader_name 李四 dob 2005-02-28 contract email lisiemail.com phone_number 987-6543-2100 address 上海市浦东新区 3借阅记录表 行键borrow_id 列族 列名 列值 BR001 info Book_id B001 Borrow_date 2024-11-01 Return_date 2024-11-15 reader Reader_name 张三 Reader_id R001 BR001 info Book_id B002 Borrow_date 2024-11-02 Return_date 2024-11-20 reader Reader_name 李四 Reader_id R002 四编程实现数据库的访问 使用Python访问实现设计的图书管理系统的列式数据库步骤如下 1数据库连接连接到Cassandra集群并创建数据库library和数据表Books、Readers和BorrowRecords具体代码如下 from cassandra.cluster import Cluster # 连接到 Cassandra 集群 cluster Cluster([192.168.121.160])  虚拟机的 IP 地址 session cluster.connect() # 创建 Keyspacelibrary session.execute( CREATE KEYSPACE IF NOT EXISTS library WITH replication {class: SimpleStrategy, replication_factor: 1} ) # 使用创建的 Keyspace session.execute(USE library) # 创建表结构 # 创建 Books 表 session.execute( CREATE TABLE IF NOT EXISTS Books ( book_id TEXT PRIMARY KEY, title TEXT, category TEXT, published_date TEXT, author_name TEXT, author_birth_date TEXT, publisher_name TEXT, publisher_address TEXT ) ) # 创建 Readers 表 session.execute( CREATE TABLE IF NOT EXISTS Readers ( reader_id TEXT PRIMARY KEY, reader_name TEXT, dob TEXT, email TEXT, phone_number TEXT, address TEXT ) ) # 创建 BorrowRecords 表 session.execute( CREATE TABLE IF NOT EXISTS BorrowRecords ( borrow_id TEXT PRIMARY KEY, book_id TEXT, borrow_date TEXT, return_date TEXT, reader_name TEXT, reader_id TEXT ) ) print(Keyspace and tables created.) 结果如下图所示 2数据增加 分别给三张表插入数据具体代码如下 ①插入图书记录 session.execute( INSERT INTO Books (book_id, title, category, published_date, author_name, author_birth_date, publisher_name, publisher_address) VALUES (%s, %s, %s, %s, %s, %s, %s, %s) , (B001, 《活着》, 文学, 1993-06-01, 余华, 1960-04-03, 作家出版社, 北京市朝阳区)) 结果如下图所示 ②插入读者信息 session.execute( INSERT INTO Readers (reader_id, reader_name, dob, email, phone_number, address) VALUES (%s, %s, %s, %s, %s, %s) , (R001, 张三, 1990-05-15, zhangsanemail.com, 123-4567-8901, 北京市海淀区)) 结果如下图所示 ③插入借阅记录 session.execute( INSERT INTO BorrowRecords (borrow_id, book_id, borrow_date, return_date, reader_name, reader_id) VALUES (%s, %s, %s, %s, %s, %s) , (BR001, B001, 2024-11-01, 2024-11-15, 张三, R001)) 结果如下图所示 3数据更新 更新读者的联系方式具体代码如下 session.execute( UPDATE Readers SET email %s WHERE reader_id %s , (newemailemail.com, R001)) 结果如下图所示 4数据查询 查询book_id为B001图书的详细信息具体代码如下 # 查询某本图书的详细信息 rows session.execute( SELECT * FROM Books WHERE book_id %s , (B001,)) for row in rows: print(row) 结果如下图所示 5数据删除 删除book_id为B001图书的记录 session.execute( DELETE FROM Books WHERE book_id %s , (B001,)) 执行结果如下图所示
http://www.hkea.cn/news/14282059/

相关文章:

  • 网站分成推广怎么做有人知道做网站吗
  • 网站建设+青海茌平微网站建设
  • 羽毛球网站建设网站备案的网站名
  • 网站的构建是怎样的长春做网站seo
  • 辽宁网站制作wordpress 新闻页面
  • 宝塔怎么做第二个网站学做网站有多难
  • 电子产品网站建设分析的摘要个人网站能备案吗
  • 乐山市住房和城乡规划建设局网站网站素材包括哪些
  • 一个超链接 多个网站湘潭培训网站建设
  • 网站建设和app开发跳转网站怎么做
  • 温州大型网站设计公司网站建设的宽带指标要求
  • 中学院新校区建设专题网站50个办厂好项目
  • 凡科网站建设的技巧如何建立免费网站
  • 如何做公众号小说网站赚钱常州网上挂号预约平台
  • seo网站沙盒期互联网网站界面设计 要素
  • 网站所属权ppt做的好的网站
  • 网站开发费应该入什么科目小程序开发费用多少钱
  • 网站搭建周期仿站在线工具
  • 阿里云 拦截网站温州网站制作价格
  • 2015做导航网站有哪些功能吗app推广的网站
  • 灵璧哪有做网站的手机进入网站自动识别
  • 做网站都是需要什么做名片素材网站
  • 多个wordpress站点同步app在线制作网站
  • 网站加载百度地图重庆网站域名备案地址
  • wordpress分享视频网站樟木头仿做网站
  • 什么网站可以免费发布招聘信息超炫网站模板
  • 官方网站优化价格网站快速备案价格
  • 绍兴网站制作系统深圳市国外网站建设
  • 保定 网站制作江门市建设工程备案网站
  • 网站设计数据库怎么做贵阳自助建站软件