当前位置: 首页 > 知识库问答 >
问题:

Pyspark SQL问题将tsv文件加载为dataframe

谭京
2023-03-14

我将以下数据作为.txt文件以tab分隔格式存储在blob存储器中。我使用pyspark.sql将数据作为pyspark.sql.df加载到数据库中。

这是数据的形状。

df = spark.createDataFrame(
    [
    (302, 'foo'), # values
    (203, 'bar'),
    (202, 'foo'),
    (202, 'bar'),
    (172, 'xxx'),
    (172, 'yyy'),
],
['LU', 'Input'] # column labels
)

display(df)
from pyspark.sql.types import *

data_schema = [
           StructField('LU', StringType(), True), 
           StructField('Input', StringType(), True)]

mySchema = StructType(fields=data_schema)
df = spark.read.csv("/filepath/filename.txt", schema=mySchema , header=True)
df.show() 
+----------+-----+
|        LU|Input|
+----------+-----+
|302       | null|
|203       | null|
|202       | null|
|202       | null|
|172       | null|
|172       | null|
+----------+-----+

谢谢

共有1个答案

毋树
2023-03-14

为了避免将来出现这个问题,也许可以考虑先推断模式并将其保存为json,在以后的读取中,您可以使用这个模式。这将避免在手动创建架构时出错。

df.schema.json()
 类似资料:
  • 问题内容: 我是python和pandas的新手。我正在尝试将文件加载到熊猫中。 这是我正在尝试的错误,也是我得到的: 问题答案: 注 :由于17.0气馁:使用替代 文档列出了一个.from_csv函数,该函数似乎可以执行您想要的操作: 如果您有标题,则可以传递。

  • 如何解决从文件加载ArrayList的问题? 完整代码在git上:项目github链接 当我从文件中加载数据时,我会把它拿回来- 我正在学习使用流,所以我正在将其写入文件。 程序结束后,我想在数组列表中写下用户到达的时间,并列出游戏完成的所有时间。

  • 问题内容: 我是javaFx的新手,并且希望使用scenebuilder进行GUI开发,尽管遇到了类似的问题,但仍可能需要不同的观点,但我遇到了一个问题,尽管在网站或Web上搜索我的运气都不好。我试图在快速构建以测试功能后通过Netbeans加载FXML文件,以便代码简单,但是我无法在控制器中设置根文件。我的代码是以下公共类Divergex扩展的Application { 我尝试过将fxroot更

  • 问题内容: 我正在应用程序中下载动态文件,并使用iframe来模拟ajax。我正在做的是,当下载请求发出后,我将创建一个动态的不可见iframe,并将iframe的src设置为下载网址。我能够成功下载该文件,但要求是显示一个下载下载指示器一旦开始下载,并在下载对话框出现后立即完成。我在创建iframe后提供了回调,以显示下载指示器已成功运行,并在iframe的“ onload”上提供了另一种方法,

  • 我正在使用OCRA将我的rb文件转换为exe文件。脚本运行正常,它还创建了一个exe文件。但是,当我将exe文件发送给一个用户运行(在他的系统中没有安装ruby)时,他会在exe运行之间遇到以下错误…Windows找不到Rubyw。请确保键入的名称正确,然后再试一次。要搜索文件,请单击开始按钮,然后单击搜索。.. 以前有人面对过这个问题吗? 谢谢

  • 我是一个长期LAMP开发人员,并且习惯在需要时使用autoloader加载类,但直到那时才开始,但现在正在学习Node.js。许多示例显示了加载所有文件的文件夹中的index.js文件。 例如:模型 在我的代码中,我使用 这是首选方法吗? 如果是,为什么? 为什么不使用自动装载机,只在需要的时候加载文件呢? 我在网上搜索,但没有找到任何明确解释这一点的东西。如果你有一篇文章对你有帮助,我将不胜感激