scala – Spark SQL:来自csv的自动模式
发布时间:2020-12-16 19:19:57 所属栏目:安全 来源:网络整理
导读:spark sql是否提供了自动加载csv数据的方法? 我找到了以下Jira: https://issues.apache.org/jira/browse/SPARK-2360但它已关闭…. 目前我将加载一个csv文件,如下所示: case class Record(id: String,val1: String,val2: String,....) sc.textFile("Data.c
spark sql是否提供了自动加载csv数据的方法?
我找到了以下Jira: https://issues.apache.org/jira/browse/SPARK-2360但它已关闭…. 目前我将加载一个csv文件,如下所示: case class Record(id: String,val1: String,val2: String,....) sc.textFile("Data.csv") .map(_.split(",")) .map { r => Record(r(0),r(1),.....) }.registerAsTable("table1") 有关csv文件自动模式扣除的任何提示吗?特别是a)我如何生成一个代表模式的类,以及b)如何自动填充它(即Record(r(0),…..))? 更新: // The schema is encoded in a string val schemaString = "name age" // Generate the schema based on the string of schema val schema = StructType( schemaString.split(" ").map(fieldName => StructField(fieldName,StringType,true))) // Convert records of the RDD (people) to Rows. val rowRDD = people.map(_.split(",")).map(p => Row(p(0),p(1).trim)) // Apply the schema to the RDD. val peopleSchemaRDD = sqlContext.applySchema(rowRDD,schema) 所以剩下的唯一问题就是如何做到这一步 感谢您的支持! 解决方法
您可以使用
spark-csv,您可以保存一些键击,而无需定义列名称并自动使用标题.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |