You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by gatorsmile <gi...@git.apache.org> on 2017/06/05 01:50:06 UTC

[GitHub] spark pull request #16854: [SPARK-15463][SQL] Add an API to load DataFrame f...

Github user gatorsmile commented on a diff in the pull request:

    https://github.com/apache/spark/pull/16854#discussion_r120029324
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/DataFrameReader.scala ---
    @@ -399,6 +393,51 @@ class DataFrameReader private[sql](sparkSession: SparkSession) extends Logging {
       }
     
       /**
    +   * Loads an `Dataset[String]` storing CSV rows and returns the result as a `DataFrame`.
    +   *
    +   * If the schema is not specified using `schema` function and `inferSchema` option is enabled,
    +   * this function goes through the input once to determine the input schema.
    +   *
    +   * If the schema is not specified using `schema` function and `inferSchema` option is disabled,
    +   * it determines the columns as string types and it reads only the first line to determine the
    +   * names and the number of fields.
    +   *
    +   * @param csvDataset input Dataset with one CSV row per record
    +   * @since 2.2.0
    +   */
    +  def csv(csvDataset: Dataset[String]): DataFrame = {
    +    val parsedOptions: CSVOptions = new CSVOptions(
    +      extraOptions.toMap,
    +      sparkSession.sessionState.conf.sessionLocalTimeZone)
    +    val filteredLines: Dataset[String] =
    +      CSVUtils.filterCommentAndEmpty(csvDataset, parsedOptions)
    +    val maybeFirstLine: Option[String] = filteredLines.take(1).headOption
    +
    +    val schema = userSpecifiedSchema.getOrElse {
    +      TextInputCSVDataSource.inferFromDataset(
    --- End diff --
    
    We should issue an error when users try to parse it as a `wholeFile`. 
    
    Need to check whether all the other CSV options are still accepted by this API.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org