我有一个小型数据集,其中包含HDFS上按国家/地区划分的人口数据。我已经编写了解析它并将其加载到Dataset<Row>中的代码
SparkConf conf = new SparkConf().setAppName("JavaWordCount").setMaster("local");
SparkContext context = new SparkContext(conf);
SparkSession sparkSession = new SparkSession(context);
Dataset<Row> df = sparkSession.read().format("com.databricks.spark.csv").option("header", true).option("inferSchema", true).load(args[1]);
System.out.println("========== Print Schema ============");
df.printSchema();
System.out.println("========== Print Data ==============");
df.show();控制台正确显示数据-
+-----------------------+-------------------+-------------+---------------+----------+
|countriesAndTerritories| location| continent|population_year|population|
+-----------------------+-------------------+-------------+---------------+----------+
| Afghanistan| Afghanistan| Asia| 2020| 38928341|
| Albania| Albania| Europe| 2020| 2877800|
| Algeria| Algeria| Africa| 2020| 43851043|
| Andorra| Andorra| Europe| 2020| 77265|但是,我希望将United States的数量放到一个int变量中。
用于选择总体的查询为
Dataset<String>xdc = df.select(col("population"))
.where(col("location").equalTo("United States")).limit(1)但是如何将它的内容放到int变量中呢?
发布于 2020-04-17 05:53:42
你可以试一试:
int v = Integer.parseInt(
df.select(col("population"))
.where(col("location").equalTo("United States"))
.limit(1)
.first()
.get(0)
.toString()
);https://stackoverflow.com/questions/61259272
复制相似问题