使用这个spark-submit命令行实现单词统计
时间: 2024-12-11 21:43:32 浏览: 66
Spark 提供了一个命令行工具 `spark-submit`,用于提交 Spark 应用程序到集群运行。如果你想要编写一个简单的单词统计脚本来分析文本文件,可以按照以下步骤操作:
1. **创建 Spark 平台的应用**:
首先,你需要创建一个 Scala 或 Python 程序作为 Spark 主应用。例如,用 Scala 编写一个名为 `wordCount.py` 的简单 WordCount 示例:
```scala
import org.apache.spark.sql.SparkSession
object WordCount {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder.appName("Word Count")
.getOrCreate()
val textFile = spark.read.text("input.txt") // 替换为你的输入文件路径
val words = textFile.flatMap(_.split("\\W+")) // 分割并去除标点
val wordCounts = words.countByValue() // 统计每个单词出现次数
wordCounts.foreach(println) // 打印结果
spark.stop()
}
}
```
2. **打包应用**:
将上述内容保存为 `.jar` 文件或者直接上传到 Hadoop 分布式文件系统 (HDFS) 或者支持的其他存储。
3. **提交到集群**:
在命令行中,使用 `spark-submit` 发布你的应用,提供相关的参数:
```sh
spark-submit --master yarn-client --class com.example.WordCount --jars your-jar-file.jar input.txt output-dir
```
这里:
- `--master` 指定 Spark 集群模式,如 yarn-client、local等。
- `--class` 指定主应用程序的全限定名(在这里是 `com.example.WordCount`)。
- `--jars` 如果使用的是 jar 包,指定包含应用的 jar 地址。
- `input.txt` 是你要处理的文本文件。
- `output-dir` 是计算结果将被保存的地方,通常是 HDFS 的路径。
4. **运行和监控**:
命令执行后,你可以通过 Spark WebUI 查看作业状态和结果。
阅读全文
相关推荐

















