请给出完整的代码示例,
时间: 2024-09-30 18:08:29 浏览: 32
C# 时针的旋转(源代码)
5星 · 资源好评率100%
Java 简单计算圆周率的代码示例通常基于蒙特卡洛方法[^1],这里提供一个基本的实现:
```java
public class PiEstimation {
public static void main(String[] args) {
double circleArea = Math.PI * 1.0; // 圆的面积,半径设为1
double squareSide = 2.0; // 正方形边长
int trials = 1000000; // 进行的试验次数
double estimatedPi = (circleArea * trials) / (squareSide * squareSide);
System.out.println("Estimated value of pi: " + estimatedPi);
}
}
```
这段代码通过随机点落在正方形和内切圆内的概率来估算π的值。
另一方面,Spark UDF(User Defined Functions)用于自定义操作,这里是给`user`表添加新列`name_len`(姓名长度)和`isAdult`(年龄大于18为true)的简单示例[^2]:
```scala
import org.apache.spark.sql.functions._
val df = Seq(
("Leo", 16),
("Marry", 21),
("Jack", 14),
("Tom", 18)
).toDF("name", "age")
// 创建UDFs
val nameLenUDF = udf((name: String) => name.length)
val isAdultUDF = udf((age: Int) => age > 18)
// 应用到DataFrame上
val result = df.withColumn("name_len", nameLenUDF($"name"))
.withColumn("isAdult", isAdultUDF($"age"))
result.show()
```
这会返回一个新的DataFrame,其中包含了原始数据以及新增加的列。
阅读全文