我正在尝试将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))