在Spark中为大型数据框定义架构

时间:2018-11-27 19:52:46

标签: apache-spark pyspark

我正在尝试将txt文件(1000列,> 1M行)中的大型数据集加载到spark环境中,并且我的数据集没有标题,因此,我遇到了以下错误:

TypeError:无法推断类型的模式:

挑战:查看documentation中给出的示例,两个示例都展示了如何使用反射来推断模式,并以编程方式演示了几行(两行)可以轻松键入的想法。由于数据表示矩阵,因此不需要特殊的列名。

我应该如何从更大的列集中进行推断,希望不要输入。或者可以使用不需要这些定义的替代方式来加载数据。

PS:Spark新手并使用pyspark

已编辑(添加的信息)

dataset = "./data.txt"

conf = (SparkConf()
    .setAppName("myApp")
    .setMaster("host")
    .set("spark.cores.max", "15")
    .set("spark.rdd.compress", "true")
    .set("spark.broadcast.compress", "true"))
sc = SparkContext(conf=conf)

spark = SparkSession \
    .builder \
    .appName("myApp") \
.config(conf=SparkConf()) \
    .getOrCreate()

data = sc.textFile(dataset)
df = spark.createDataFrame(data)

data.txt包含100万行和1000列,类似于通过以下代码获得的内容:

np.random.randint(20, size=(1000000, 1000)) 

0 个答案:

没有答案