实体剥离标签加ID

import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.types.{LongType, StringType, StructField, StructType}

object MakeLabel {
def main(args: Array[String]): Unit = {
val session = SparkSession.builder().master(“local[1]”).appName(“make_label”).getOrCreate()
import session.implicits._
// 读取csv文件
val csvFile = session.read.option(“header”,“true”).csv("./data/ownthink_v2.csv")
csvFile.printSchema()
val csvRDD = csvFile.rdd.repartition(1)
var num1 = 0L
// 处理第一列
val res1 = csvRDD.filter(x => {
!(x.get(0) == null)
}).map(x => {x.get(0).toString}).distinct().map(words => {
num1 = num1 + 1
(“ID_”+num1,words,“ENTITY”)
})
var num2 = res1.count()
// 处理第三列
val res2 = csvRDD.filter(x => {
!(x.get(2) == null)
}).map(x => {x.get(2).toString}).distinct().map(words => {
num2 = num2 + 1
(“ID_”+num2,words,“ENTITY1”)
})

val dataFrame1 = res1.toDF(":ID","name",":LABLE")
val dataFrame2 = res2.toDF(":ID","name",":LABLE")
dataFrame1.write.option("header", "true").csv("./data/res1")
dataFrame2.write.option("header", "true").csv("./data/res2")

}
}

<think>我们正在讨论交换机配置中的PVID概念。根据引用内容,PVID是端口的默认VLAN标识,用于处理未标记的流量。用户要求了解PVID的定义及配置方法,我将结合引用内容组织答案。引用[1]明确提到:PVID是PortVLANID的缩写,用于定义交换机端口的默认VLAN(NativeVLAN),主要处理未标记的流量。引用[4]提供了华为/H3C交换机配置PVID的具体命令示例。回答结构:1.PVID定义:解释基本概念和作用对象2.PVID与VLANID的区别:通过对比表格说明(使用引用[1]的内容)3.不同端口类型的PVID处理机制:结合引用[1][2],说明Access、Trunk、Hybrid端口的PVID行为4.配置方法:使用引用[4]中的命令示例,展示华为/H3C交换机如何配置PVID5.典型应用场景举例6.生成相关问题特别注意:在描述中适当标注引用来源。</think> ### PVID 定义及作用详解 **PVID (Port VLAN ID)** 是交换机端口的默认 VLAN 标识符,用于处理**未打标签(Untagged)** 的数据帧。其核心作用是为接收到的无标记流量分配归属 VLAN,并通过**打标签/剥离标签**机制控制数据帧转发,是 VLAN 通信的基础配置[^1]。 --- ### **一、PVID 的本质特性** | **属性** | **PVID** | **VLAN ID** | |----------------|-----------------------------------|--------------------------------| | **定义** | 端口的默认 VLAN 标识 | VLAN 本身的逻辑标识符 | | **作用对象** | 交换机物理端口 | VLAN 逻辑实体 | | **数据处理** | 决定未标记帧的归属 VLAN | 标识数据帧所属的 VLAN | | **配置层级** | 在端口视图中配置 | 在 VLAN 视图中配置 | #### **关键能力**: 1. **未标记帧处理** - 当端口收到无 VLAN 标签的数据帧时,会将其自动归类到 **PVID 指定的 VLAN** - 示例:若端口 `PVID=10`,收到无标记帧 → 自动添 VLAN 10 标签[^2] 2. **出站标签控制** - 决定从该端口发出的帧是否携带 VLAN 标签 - 华为交换机通过 **Hybrid/Trunk 端口模式**实现灵活控制(详见配置部分)[^2] --- ### **二、不同端口类型与 PVID 的交互机制** | **端口类型** | **PVID 作用原理** | **典型场景** | |--------------|---------------------------------------------------------------------------------|----------------------------------| | **Access** | • **固定 PVID**:与所属 VLAN 一致<br>• **入站**:给所有帧强制添 PVID 标签<br>• **出站**:剥离标签 | 连接 PC、打印机等终端设备[^4] | | **Trunk** | • **自定义 PVID**(默认为 VLAN 1)<br>• **入站**:仅未标记帧使用 PVID 归类<br>• **出站**:仅 Native VLAN 帧剥离标签 | 交换机级联、路由器互联[^1][^4] | | **Hybrid** | • **入站**:同 Trunk 端口<br>• **出站**:可对 **不同 VLAN 指定标签策略**(携带/剥离标签) | AP、IP 电话等多业务接入场景[^2] | > ⚠️ **Trunk/Hybrid 端口的 PVID 风险**:若互连设备两端 PVID 不同,Native VLAN 流量将被错误归类导致通信中断[^1]。 --- ### **三、华为交换机 PVID 配置方法** #### **1. Access 端口 PVID 配置** ```bash # 创建 VLAN 10 [Huawei] vlan 10 # 进入物理端口视图 [Huawei] interface GigabitEthernet0/0/1 # 设置为 Access 模式并入 VLAN 10 [Huawei-GigabitEthernet0/0/1] port link-type access [Huawei-GigabitEthernet0/0/1] port default vlan 10 # 等同于设置 PVID=10 ``` #### **2. Trunk/Hybrid 端口 PVID 配置** ```bash # 配置 Trunk 端口,指定 Native VLAN (PVID) [Huawei] interface GigabitEthernet0/0/24 [Huawei-GigabitEthernet0/0/24] port link-type trunk [Huawei-GigabitEthernet0/0/24] port trunk pvid vlan 100 # 设置 PVID=100 [Huawei-GigabitEthernet0/0/24] port trunk allow-pass vlan 100 200 # 放行 VLAN # Hybrid 端口标签策略进阶(可选) [Huawei-GigabitEthernet0/0/24] port hybrid tagged vlan 200 # VLAN 200 出站携带标签 [Huawei-GigabitEthernet0/0/24] port hybrid untagged vlan 100 # VLAN 100 出站剥离标签 ``` #### **3. 验证命令** ```bash # 查看端口 VLAN 配置(含 PVID) [Huawei] display port vlan GigabitEthernet0/0/24 # 输出示例 Port Link-Type PVID VLAN List GE0/0/24 trunk 100 100 (Tagged), 200 (Tagged) ``` --- ### **四、经典故障案例解析** #### **案例:Trunk 链路单向不通** **现象**: 交换机 A(`PVID=10`)与交换机 B(`PVID=20`)通过 Trunk 端口直连,Native VLAN 流量无法互通。 **根因**: 交换机 A 发出的无标记帧被交换机 B 归类到 VLAN 20(PVID),但目标设备在 VLAN 10。 **解决方案**: ```bash # 在任意一端统一 Native VLAN [Huawei] interface GigabitEthernet0/0/24 [Huawei-GigabitEthernet0/0/24] port trunk pvid vlan 10 # 两端设为相同 PVID ``` --- ### **PVID 最佳实践** 1. **接入层原则**:所有终端直连的 Access 端口需显式配置 `port default vlan` 2. **Trunk 级联原则**:互连的 Trunk/Hybrid 端口必须 **PVID 一致** 3. **安全隔离**:修改默认 Native VLAN(VLAN 1),降低广播风暴风险[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值