tbschema.json 看起来像这样:
[{"TICKET":"integer","TRANFERRED":"string","ACCOUNT":"STRING"}]
Run Code Online (Sandbox Code Playgroud)
我使用以下代码加载它
>>> df2 = sqlContext.jsonFile("tbschema.json")
>>> f2.schema
StructType(List(StructField(ACCOUNT,StringType,true),
StructField(TICKET,StringType,true),StructField(TRANFERRED,StringType,true)))
>>> df2.printSchema()
root
|-- ACCOUNT: string (nullable = true)
|-- TICKET: string (nullable = true)
|-- TRANFERRED: string (nullable = true)
Run Code Online (Sandbox Code Playgroud)
当我希望元素的顺序与它们在JSON中出现的顺序相同时,为什么模式元素会被排序.
在派生JSON之后,数据类型整数已转换为StringType,如何保留数据类型.
我有10列的CSV文件。Half String和Half是Integers。
什么是Scala代码以:
到目前为止,我有:
import org.apache.spark.sql.SQLContext
val sqlContext = new SQLContext(sc)
val df = sqlContext.read
.format("com.databricks.spark.csv")
.option("header", "true") // Use first line of all files as header
.option("inferSchema", "true") // Automatically infer data types
.load("cars.csv")
Run Code Online (Sandbox Code Playgroud)
保存该模式的最佳文件格式是什么?是JSON吗?
目标是-我只想创建一次架构,下一次从文件中加载,而不是即时重新创建。
谢谢。