繁体   English   中英

如何使用Spark Scala对csv文件执行基本统计信息以浏览我的数字和非数字变量?

[英]How to perform basic statistics on a csv file to explore my numeric and non-numeric variables with Spark Scala?

我已经导入了一个csv文件,如下所示:

MR; IT;  UPI; CAE; IIL;                ED;   NS;                  DATE; DUIOD;NBOPP;
30;  0; null;   2;   0; bgpel:10PT-MIP   ; null; 2013-05-20 21:03:00.0;   300;null;
20;  0; null;   4;   1; bzrgfel:125TZ-ATR; null; 2013-04-01 19:50:02.0;   302;null; 
10;  2; null;   2;   0; bhtuyel:105MF-AXI; null; 2013-04-26 17:12:00.0;   298;null;

我是Spark的新手,我想执行基本统计信息,例如

  • 获取数值变量的最小值,最大值,平均值,中位数和标准差
  • 获取非数字变量的值频率。

我的问题是:

  • 使用哪种类型的对象更好,以及如何将我的csv导入该类型(RDD,DataFrame等)?
  • 如何轻松地进行那些基本统计?

我已经尝试过RDD,但可能有更好的方法:

val csv=sc.textFile("myFile.csv");  
val summary: MultivariateStatisticalSummary = Statistics.colStats(csv)

我收到如下错误:

error: type mismatch;
found   : org.apache.spark.rdd.RDD[String]
required: org.apache.spark.rdd.RDD[org.apache.spark.mllib.linalg.Vector]

github spark-csv上有一个开源库。 您可以将其用于解析和其他转换。 您还可以使用此代码直接将csv转换为dataframe。

sqlContext.read().format("com.databricks.spark.csv").options(Options).load();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM