1、开发环境
python版本:3.6
spark版本:2.3.1
pyspark:2.3.1
2、脚本
from pyspark import SparkConf,SparkContext from pyspark.sql import SQLContext,HiveContext from pyspark.sql.types import * ####1、从json文件读取数据,并直接生成DataFrame####### path = "20180724141719.json" df = sqlContext.read.json(path) df.printSchema()
#################################### data_dict = { "region": "cn", "env": "dev", "product": "snap" }schema = StructType([ StructField("region", StringType(), True), StructField("env", StringType(), True), StructField("product", StringType(), True)])dslist = [] ## 空列表dslist.append(data_dict) ## 使用 append() 添加元素 ###2、通过json字符串生成DataFrame#############myrdd = sc.parallelize(dslist)df = sqlContext.read.json(myrdd)df.printSchema()####3、通过自定义schema和json字符串列表,生成DataFrame####### df = sqlContext.createDataFrame(dslist,schema) df.printSchema() ########################################################