Michael Armbrust created SPARK-5896:
---------------------------------------

             Summary: toDF in python doesn't work with Strings
                 Key: SPARK-5896
                 URL: https://issues.apache.org/jira/browse/SPARK-5896
             Project: Spark
          Issue Type: Bug
          Components: SQL
            Reporter: Michael Armbrust
            Assignee: Davies Liu


{code}
from pyspark.sql import Row
data = sc.parallelize(Row(name="michael")).toDF()
data.collect()
{code}

{code}
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-7-6f86e500a07e> in <module>()
      1 from pyspark.sql import Row
----> 2 data = sc.parallelize(Row(name="michael")).toDF()
      3 data.collect()

/home/ubuntu/databricks/spark/python/pyspark/sql/context.pyc in toDF(self, 
schema, sampleRatio)
     53         [Row(name=u'Alice', age=1)]
     54         """
---> 55         return sqlCtx.createDataFrame(self, schema, sampleRatio)
     56 
     57     RDD.toDF = toDF

/home/ubuntu/databricks/spark/python/pyspark/sql/context.pyc in 
createDataFrame(self, data, schema, samplingRatio)
    395 
    396         if schema is None:
--> 397             return self.inferSchema(data, samplingRatio)
    398 
    399         if isinstance(schema, (list, tuple)):

/home/ubuntu/databricks/spark/python/pyspark/sql/context.pyc in 
inferSchema(self, rdd, samplingRatio)
    228             raise TypeError("Cannot apply schema to DataFrame")
    229 
--> 230         schema = self._inferSchema(rdd, samplingRatio)
    231         converter = _create_converter(schema)
    232         rdd = rdd.map(converter)

/home/ubuntu/databricks/spark/python/pyspark/sql/context.pyc in 
_inferSchema(self, rdd, samplingRatio)
    158 
    159         if samplingRatio is None:
--> 160             schema = _infer_schema(first)
    161             if _has_nulltype(schema):
    162                 for row in rdd.take(100)[1:]:

/home/ubuntu/databricks/spark/python/pyspark/sql/types.pyc in _infer_schema(row)
    652 
    653     else:
--> 654         raise ValueError("Can not infer schema for type: %s" % 
type(row))
    655 
    656     fields = [StructField(k, _infer_type(v), True) for k, v in items]

ValueError: Can not infer schema for type: <type 'str'>
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to