国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python黑馬程序員(Spark實戰(zhàn))筆記

這篇具有很好參考價值的文章主要介紹了Python黑馬程序員(Spark實戰(zhàn))筆記。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、基礎(chǔ)準(zhǔn)備

?pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

# 導(dǎo)包
from pyspark import SparkConf,SparkContext
#創(chuàng)建SparkConf類對象
conf=SparkConf().setMaster("local[*]").setAppName("test_spark_app")
#基于SparkXConf類對象創(chuàng)建SparkContext對象
sc=SparkContext(conf=conf)
#打印PySpark的運行版本
print(sc.version)
#停止SparkContext對象的運行(停止pySpark程序)
sc.stop()

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

?2、數(shù)據(jù)輸入

from pyspark import SparkConf,SparkContext

conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

# 通過parallelize方法將Python對象加載到Spark內(nèi),成為RDD對象
rdd1=sc.parallelize([1,2,3,4,5])
rdd2=sc.parallelize((1,2,3,4,5))
rdd3=sc.parallelize("abcdefg")
rdd4=sc.parallelize({1,2,3,4,5})
rdd5=sc.parallelize({"key1":"value1","key2":"value2"})

#如果要查看RDD里面有什么內(nèi)容,需要用collect()方法
print(rdd1.collect())
print(rdd2.collect())
print(rdd3.collect())
print(rdd4.collect())
print(rdd5.collect())


sc.stop()

注意:字符串返回的是['a','b','c','d','e','f','g']? ?字典返回的是['key1','key2']??

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

讀取hello.txt的內(nèi)容:

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

from pyspark import SparkConf,SparkContext

conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

# # 通過parallelize方法將Python對象加載到Spark內(nèi),成為RDD對象
# rdd1=sc.parallelize([1,2,3,4,5])
# rdd2=sc.parallelize((1,2,3,4,5))
# rdd3=sc.parallelize("abcdefg")
# rdd4=sc.parallelize({1,2,3,4,5})
# rdd5=sc.parallelize({"key1":"value1","key2":"value2"})
#
# #如果要查看RDD里面有什么內(nèi)容,需要用collect()方法
# print(rdd1.collect())
# print(rdd2.collect())
# print(rdd3.collect())
# print(rdd4.collect())
# print(rdd5.collect())


#用textFile方法,讀取文件數(shù)據(jù)加載到Spark內(nèi),成為RDD對象
rdd=sc.textFile("C:/Users/GYH/Desktop/data/pyspark_heima/hello.txt")
print(rdd.collect())
sc.stop()

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

3、數(shù)據(jù)計算-map方法

from pyspark import SparkConf,SparkContext
import os
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置

conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

# 準(zhǔn)備一個RDD
rdd=sc.parallelize([1,2,3,4,5])

#通過map方法將全部數(shù)據(jù)都乘以10
def func(data):
    return data*10

rdd2=rdd.map(func) #(T) -> U
                   #(T) -> T
print(rdd2.collect())
#鏈?zhǔn)秸{(diào)用

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

注意:

import os
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置

如果沒有添加上行代碼程序會報出錯誤!

Caused by: org.apache.spark.SparkException: Python worker failed to connect back.

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

?解釋器的位置: (是在電腦中安裝的位置)

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

代碼中:

 def func(data):
     return data*10

可以替換成lambda

rdd2=rdd.map(lambda x:x*10)

完整代碼:

from pyspark import SparkConf,SparkContext
import os
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置

conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

# 準(zhǔn)備一個RDD
rdd=sc.parallelize([1,2,3,4,5])

#通過map方法將全部數(shù)據(jù)都乘以10
# def func(data):
#     return data*10

rdd2=rdd.map(lambda x:x*10) #(T) -> U
                            #(T) -> T
print(rdd2.collect())
#鏈?zhǔn)秸{(diào)用

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

?鏈?zhǔn)秸{(diào)用 可以直接使用.的方式

rdd2=rdd.map(lambda x:x*10).map(lambda x:x+5)

完整代碼:

from pyspark import SparkConf,SparkContext
import os
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置

conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

# 準(zhǔn)備一個RDD
rdd=sc.parallelize([1,2,3,4,5])

#通過map方法將全部數(shù)據(jù)都乘以10
# def func(data):
#     return data*10

rdd2=rdd.map(lambda x:x*10).map(lambda x:x+5) #(T) -> U
                            #(T) -> T
print(rdd2.collect())
#鏈?zhǔn)秸{(diào)用

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

5、flatMap方法

from pyspark import SparkConf,SparkContext
import os
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置

conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

# 準(zhǔn)備一個RDD
rdd=sc.parallelize(["itheima itcast 666","itheima itheima it cast","python itheima"])
#需求,將RDD數(shù)據(jù)里面的一個個單詞提取出來
rdd2=rdd.map(lambda x:x.split(" "))
rdd1=rdd.flatMap(lambda x:x.split(" "))
print(rdd1.collect())
print(rdd2.collect())

flatMap算子

計算邏輯和map一樣

可以比map多出,接觸一層嵌套的功能

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

6、 reduceByKey算子

reduceBeKey中的聚合邏輯是:

[1,2,3,4,5] 然后聚合函數(shù):lambda a,b:a+b

a? b

1+2=3

? ? 3+3=6

? ? ? 6+4=10

? ? ? ? ? 10+5=15

from pyspark import SparkConf,SparkContext
import os
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置

conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

#準(zhǔn)備一個RDD
rdd =sc.parallelize([('男',99),('男',88),('女',99),('女',66)])
# 求男生和女生兩組的成績之和
rdd2=rdd.reduceByKey(lambda a,b:a+b)
print(rdd2.collect())

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

出現(xiàn):?UserWarning: Please install psutil to have better support with spilling??

在cmd中 pip install psutil 即可

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

?文章來源地址http://www.zghlxwxcb.cn/news/detail-745160.html

?7、數(shù)據(jù)計算練習(xí)案例

要求:

# 完成單詞計數(shù)統(tǒng)計
# 1.構(gòu)建執(zhí)行環(huán)境入口對象
# 2.讀取數(shù)據(jù)文件
# 3.取出全部單詞
# 4.將所有單詞都轉(zhuǎn)換為二元元組,單詞為Key value 設(shè)置為1
# 5.分組并求和
# 6.打印輸出
# 完成單詞計數(shù)統(tǒng)計
# 1.構(gòu)建執(zhí)行環(huán)境入口對象
from pyspark import SparkConf,SparkContext
import os
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置
conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)
#2.讀取數(shù)據(jù)文件
rdd=sc.textFile("C:/Users/GYH\Desktop/data/pyspark_heima/hello.txt")
#3.取出全部單詞
word_rdd=rdd.flatMap(lambda x:x.split(" "))
# print(word_rdd.collect())

#4.將所有單詞都轉(zhuǎn)換為二元元組,單詞為Key value 設(shè)置為1
word_with_one_rdd=word_rdd.map(lambda word:(word,1))
# print(word_with_one_rdd.collect())
#5.分組并求和
result=word_with_one_rdd.reduceByKey(lambda a,b:a+b)
#6打印輸出
print(result.collect())

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

8、filter方法?

from pyspark import SparkConf,SparkContext
import os
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置
conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

#準(zhǔn)備一個RDD
rdd=sc.parallelize([1,2,3,4,5])
# 對RDD的數(shù)據(jù)進行過濾
rdd2=rdd.filter(lambda num:num%2==0)

print(rdd2.collect())

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

9、distinct方法

from pyspark import SparkConf,SparkContext
import os
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置
conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

#準(zhǔn)備一個RDD
rdd=sc.parallelize([1,1,3,3,5,5,7,8,8,9,10])
#對RDD的數(shù)據(jù)進行去重
rdd2=rdd.distinct()
print(rdd2.collect())

?Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

10、sortBy方法

rdd.sortBy(func,ascending=Flase,numPartition=1)

#func(T)-->U:告知按照rdd中的哪一個數(shù)據(jù)進行排序,比如lambda x:x[1]表示按照rdd中的第二列元素進行排序

#ascending True升序 Flase降序

#numPartitions:用多少分區(qū)排序

from pyspark import SparkConf,SparkContext
import os
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置
conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

#1.讀取文件
rdd=sc.textFile("C:/Users/GYH/Desktop/data/pyspark_heima/hello.txt")
#2.取出全部單詞
word_rdd=rdd.flatMap(lambda x:x.split(" "))
#3.將所有單詞都轉(zhuǎn)換為二元元組,單詞為Key,value設(shè)置為1
word_with_one_rdd=word_rdd.map(lambda word:(word,1))
#4.分組并求和
ressult_rdd=word_with_one_rdd.reduceByKey(lambda a,b:a+b)
print(ressult_rdd.collect())
#5.對結(jié)果進行排序
final_rdd=ressult_rdd.sortBy(lambda x:x[1],ascending=False,numPartitions=1)
print(final_rdd.collect())

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

11、數(shù)據(jù)計算-練習(xí)案例2

from pyspark import SparkConf,SparkContext
import os
import json
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置
conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

# TODO 需求1 城市銷售額排名
# 1.1 讀取文件到RDD
file_rdd=sc.textFile("C:/Users/GYH/Desktop/data/pyspark_heima/orders.txt")
# 1.2 取出一個JSON字符串
json_str_rdd=file_rdd.flatMap(lambda x:x.split("|"))
# print(json_str_rdd)
# 1.3 將一個個JSON字符串轉(zhuǎn)換為字典
dict_rdd=json_str_rdd.map(lambda x:json.loads(x))
print(dict_rdd.collect())
# 1.4 取出城市和銷售數(shù)據(jù)
# (城市,銷售額)
city_with_money_rdd=dict_rdd.map(lambda x:(x['areaName'],int(x['money'])))
# 1.5 按城市分組按銷售聚合
city_result_edd=city_with_money_rdd.reduceByKey(lambda a,b:a+b)
# 1.6 按銷售額聚合結(jié)果進行排序
result1_rdd=city_result_edd.sortBy(lambda x:x[1],ascending=False,numPartitions=1)
print(f"需求1的結(jié)果是{result1_rdd.collect()}")

# TODO 需求2:取出城市有哪些商品類別在銷售
# 2.1 取出全部的商品類別
category_rdd=dict_rdd.map(lambda x:x['category']).distinct()
print(f"需求2的結(jié)果{category_rdd.collect()}")
#2.2 對全部商品類別進行去重
# TODO 需求3
# 3.1過濾北京市的數(shù)據(jù)
beijing_data_rdd=dict_rdd.filter(lambda x:x['areaName']=='北京')
# 3.2 取出全部商品類別
result3_rdd=beijing_data_rdd.map(lambda x:x['category']).distinct()
print(f"需求3的結(jié)果:{result3_rdd.collect()}")
# 3.3 進行商品類別去重

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

#12、輸出為Python對象

數(shù)據(jù)輸出的方法

collect 將RDD內(nèi)容轉(zhuǎn)換為list

reduce 對RDD內(nèi)容進行自定義聚合

take 取出RDD的前N個元素組成list

count 統(tǒng)計RDD元素個數(shù)

from pyspark import SparkConf,SparkContext
import os
import json
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置
conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
sc=SparkContext(conf=conf)

#準(zhǔn)備RDD
rdd=sc.parallelize([1,2,3,4,5])
# collect算子,輸出RDD為list的對象
rdd_list:list=rdd.collect()
print(rdd_list)
print(type(rdd_list))
# reduce 算子,對RDD進行兩兩聚合
num=rdd.reduce(lambda a,b:a+b)
print(num)
# take算子,取出RDD前N個元素,組成list返回
take_list=rdd.take(3)
print(take_list)
# count,統(tǒng)計rdd內(nèi)有多少條數(shù)據(jù),返回值為數(shù)字
number_count=rdd.count()
print(f"rdd內(nèi)有{number_count}個元素")
sc.stop()

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

?#13、數(shù)據(jù)輸出到文件中

1、下載hadoop3.3.0壓縮包

? ? ? 百度網(wǎng)盤:鏈接:https://pan.baidu.com/s/1y4a2w4D8zCzYKEDY9aPWtw?
? ? ? ? ? ? ? ? ? 提取碼:1234

? ? ? hadoop3.3.0解壓到任意位置即可

2、將haoop3.3.0的bin文件夾下的 hadoop.dll? 復(fù)制到C:\Windows\System32中Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

在pycharm中添加如下代碼

os.environ['HADOOP_HOME']="E:/spark/hadoop-3.3.0"

?運行后成功寫入:

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

?14、綜合案例

讀取文件轉(zhuǎn)換成RDD,并完成:

打印輸出:熱門搜索時間段(小時精度)Top3

打印輸出:統(tǒng)計黑馬程序員關(guān)鍵字在哪個時段被搜索最多

將數(shù)據(jù)轉(zhuǎn)換為JSON格式,寫出文件

1、熱門搜索時間段(小時精度)Top3

from pyspark import SparkConf,SparkContext
import os
import json
os.environ['PYSPARK_PYTHON']="C:/Users/GYH/AppData/Local/Programs/Python/Python310/python.exe" #python解釋器的位置
os.environ['HADOOP_HOME']="E:/spark/hadoop-3.3.0"
conf=SparkConf().setMaster("local[*]").setAppName("test_spark")
conf.set("spark.default.parallelism","1")
sc=SparkContext(conf=conf)

# 讀取文件轉(zhuǎn)換成RDD
# TODO 需求1:熱門城市時間段TOP3(小時精度)
file_rdd=sc.textFile("C:/Users/GYH/Desktop/data/pyspark_heima/SogouQ.txt")
#1.1取出全部時間并轉(zhuǎn)換為小時
#1.2轉(zhuǎn)換為(小時,1)的二元元組
#1.3Key分組聚合Value
#1.4排序(降序)
#1.5取前3
result1=file_rdd.map(lambda x:x.split("\t")).\
    map(lambda x:x[0][:2]).\
    map(lambda x:(x,1)).\
    reduceByKey(lambda a,b:a+b).\
    sortBy(lambda x:x[1],ascending=False,numPartitions=1).\
    take(3)
print(f"需求1的結(jié)果:{result1}")

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

?# TODO 需求2:熱門搜索詞TOP3

# TODO 需求2:熱門搜索詞TOP3
# 2.1 取出全部搜索詞
# 2.2 (詞,1) 二元元組
# 2.3 分組聚合
# 2.4 排序
# 2.5 TOP3
file_rdd=sc.textFile("C:/Users/GYH/Desktop/data/pyspark_heima/SogouQ.txt")
result2=file_rdd.map(lambda x:x.split('\t')).\
    map(lambda x:x[2]).\
    map(lambda x:(x,1)).\
    reduceByKey(lambda a,b:a+b).\
    sortBy(lambda x:x[1],ascending=False,numPartitions=1).\
    take(3)
print(f"需求2的結(jié)果:{result2}")

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

?# TODO 需求3:統(tǒng)計黑馬程序員關(guān)鍵字在什么時段被搜索的最多

# TODO 需求3:統(tǒng)計黑馬程序員關(guān)鍵字在什么時段被搜索的最多
# 3.1 過濾內(nèi)容 只能保留黑馬程序員關(guān)鍵字
# 3.2 轉(zhuǎn)換為(小時,1)的二元元組
# 3.3 Key分組聚合Value
# 3.4 排序(降序)
# 3.5 取前1
file_rdd=sc.textFile("C:/Users/GYH/Desktop/data/pyspark_heima/SogouQ.txt")
result3=file_rdd.map(lambda x:x.split("\t")).\
    filter(lambda x:x[2]=='黑馬程序員').\
    map(lambda x:(x[0][:2],1)).\
    reduceByKey(lambda a,b:a+b).\
    sortBy(lambda x:x[1],ascending=False,numPartitions=1).\
    take(1)
print(f"需求3的結(jié)果{result3}")

?# TODO 需求4:將數(shù)據(jù)轉(zhuǎn)換為JSON格式,寫到文件中

# TODO 需求4:將數(shù)據(jù)轉(zhuǎn)換為JSON格式,寫到文件中
file_rdd=sc.textFile("C:/Users/GYH/Desktop/data/pyspark_heima/SogouQ.txt")
# 4.1 轉(zhuǎn)換為JSON格式的RDD
# 4.2 寫出為文件
file_rdd.map(lambda x:x.split("\t")).\
    map(lambda x:{"time":x[0],"user_id":x[1],"key_word":x[2],"rank1":x[3],"rank2":x[4],"url":x[5]}).\
    saveAsTextFile("C:/Users/GYH/Desktop/data/pyspark_heima/output1_JSON")

打開output1_JSON文件夾下的part_00000?

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

?成功寫入:

Python黑馬程序員(Spark實戰(zhàn))筆記,pyspark,spark,大數(shù)據(jù),分布式

?

到了這里,關(guān)于Python黑馬程序員(Spark實戰(zhàn))筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 黑馬程序員3天帶你玩轉(zhuǎn)Python深度學(xué)習(xí)TensorFlow框架學(xué)習(xí)筆記

    黑馬程序員3天帶你玩轉(zhuǎn)Python深度學(xué)習(xí)TensorFlow框架學(xué)習(xí)筆記

    這是黑馬程序員3天帶你玩轉(zhuǎn)Python深度學(xué)習(xí)TensorFlow框架學(xué)習(xí)筆記 視頻鏈接: 黑馬程序員3天帶你玩轉(zhuǎn)Python深度學(xué)習(xí)TensorFlow框架 學(xué)習(xí)目標(biāo):知道深度學(xué)習(xí)與機器學(xué)習(xí)的區(qū)別 區(qū)別:深度學(xué)習(xí)沒有特征提取 特征方面 機器學(xué)習(xí)的特征工程步驟是要靠手動完成的,而且需要大量領(lǐng)域?qū)?/p>

    2024年02月01日
    瀏覽(1622)
  • 【黑馬程序員】C++核心功能項目實戰(zhàn)

    【黑馬程序員】C++核心功能項目實戰(zhàn)

    20240221 本教程主要利用C++來實現(xiàn)一個基于多態(tài)的職工管理系統(tǒng) 構(gòu)成 普通員工 經(jīng)理 老板 員工顯示 需要顯示職工編號、職工姓名、職工崗位以及職責(zé) 不同員工職責(zé) 責(zé)普通員工職責(zé):完成經(jīng)理交給的任務(wù) 經(jīng)理職責(zé):完成老板交給的任務(wù),并下發(fā)任務(wù)給員工 老板職責(zé):管理公司所有

    2024年02月22日
    瀏覽(17)
  • 黑馬程序員 Docker筆記

    黑馬程序員 Docker筆記

    本篇學(xué)習(xí)筆記文檔對應(yīng)B站視頻: 同學(xué)們,在前兩天我們學(xué)習(xí)了Linux操作系統(tǒng)的常見命令以及如何在Linux上部署一個單體項目。大家想一想自己最大的感受是什么? 我相信,除了個別天賦異稟的同學(xué)以外,大多數(shù)同學(xué)都會有相同的感受,那就是麻煩。核心體現(xiàn)在三點: 命令太

    2024年01月23日
    瀏覽(26)
  • SpringBoot-黑馬程序員-學(xué)習(xí)筆記(三)

    SpringBoot-黑馬程序員-學(xué)習(xí)筆記(三)

    目錄 30.springboot整合MyBatis-plus 32.SSM整合 38.MP中的條件查詢 小知識:許多放在類前面的注解,比如@Mapper,@Service都是將該類定義成一個Bean,交給spring管理 39.Service模塊 1.創(chuàng)建普通springboot項目,勾選Mysql 框架 2.在pom包里面導(dǎo)入mybatis-plus的坐標(biāo) 3.把數(shù)據(jù)層的類繼承BaseMapper這個接口

    2024年02月07日
    瀏覽(23)
  • 黑馬程序員---微服務(wù)筆記【實用篇】

    黑馬程序員---微服務(wù)筆記【實用篇】

    ? ? 微服務(wù)實現(xiàn)流程: ?所有要學(xué)的技術(shù): ?分層次教學(xué): ?具體分層: ?單體架構(gòu) 將業(yè)務(wù)所有功能集中在一個項目中開發(fā),打成一個包部署 優(yōu)點:架構(gòu)簡單、部署成本低 缺點:耦合度高 分布式架構(gòu) 根據(jù)業(yè)務(wù)功能對系統(tǒng)進行查分,每個業(yè)務(wù)模塊作為獨立項目開發(fā),稱為一

    2024年02月07日
    瀏覽(62)
  • 學(xué)習(xí)筆記-微服務(wù)高級(黑馬程序員)

    測試軟件 jmeter 雪崩問題 個微服務(wù)往往依賴于多個其它微服務(wù),服務(wù)提供者I發(fā)生了故障,依賴于當(dāng)前服務(wù)的其它服務(wù)隨著時間的推移形成級聯(lián)失敗 超時處理 設(shè)定超時時間,請求超過一定時間沒有響應(yīng)就返回錯誤信息 倉壁模式 限定每個業(yè)務(wù)能使用的線程數(shù),避免耗盡整個tom

    2024年04月25日
    瀏覽(31)
  • 學(xué)習(xí)筆記-微服務(wù)基礎(chǔ)(黑馬程序員)

    spring cloud spring cloud alibaba eureka-server 注冊中心 eureka-client 客戶端 每30s發(fā)送心跳 服務(wù) 服務(wù)消費者 服務(wù)提供者 依賴 啟動類 添加注解 @EnableEurekaServer 配置文件 application.yml 依賴 配置文件 application.yml 添加注解 @LoadBlanced 修改url 自定義負(fù)載均衡策略 1、定義新的IRule,將輪詢策略(

    2024年04月13日
    瀏覽(30)
  • 黑馬程序員-職工管理系統(tǒng)實戰(zhàn)-附加源碼Git

    黑馬程序員-職工管理系統(tǒng)實戰(zhàn)-附加源碼Git

    職工管理系統(tǒng)可以用來管理公司內(nèi)所有員工的信息 本教程主要利用C++來實現(xiàn)一個基于多態(tài)的職工管理系統(tǒng) 公司中職工分為三類:普通員工、經(jīng)理、老板,顯示信息時,需要顯示職工編號、職工姓名、職工崗位、以及職責(zé) 普通員工職責(zé):完成經(jīng)理交給的任務(wù) 經(jīng)理職責(zé):完成老

    2024年02月03日
    瀏覽(31)
  • Linux命令基礎(chǔ),黑馬程序員學(xué)習(xí)筆記

    command [-options] [parameter] command:命令本身 -options:[可選,非必填]命令的一些選項,可以通過選項控制命令的行為細節(jié) parameter:[可選,非必填]命令的參數(shù),多數(shù)用于命令的指向目標(biāo)等 示例: ls -l /home/itheima ls是命令本身,-l是選項, /home/itheima是參數(shù)意思是以列表的形式,顯示/home

    2024年02月19日
    瀏覽(24)
  • [學(xué)習(xí)筆記]黑馬程序員-Hadoop入門視頻教程

    [學(xué)習(xí)筆記]黑馬程序員-Hadoop入門視頻教程

    黑馬程序員大數(shù)據(jù)Hadoop入門視頻教程,適合零基礎(chǔ)自學(xué)的大數(shù)據(jù)Hadoop教程 學(xué)習(xí)目標(biāo) 1.理解大數(shù)據(jù)基本概念 2.掌握數(shù)據(jù)分析基本步驟 3.理解分布式、集群概念 4.學(xué)會VMware虛擬機的導(dǎo)入與使用 5.掌握Linux常用操作命令使用 6.掌握vi/vim編輯器基礎(chǔ)使用 1.1.1 企業(yè)數(shù)據(jù)分析方向 數(shù)據(jù)分

    2024年02月13日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包