【问题标题】:Why is my pandas data frame not converting rightly into columns and rows to pyspark's data frame?为什么我的 pandas 数据框没有正确转换为 pyspark 数据框的列和行?
【发布时间】:2019-07-10 07:59:15
【问题描述】:

我正在尝试从 sql server 读取数据,然后创建 pyspark 数据框。

我也尝试为它创建一个特定的架构,但这也无济于事

from pyspark.sql.types import *

mySchema = StructType([ StructField("CAMP_ID", StringType(), True)\
                       ,StructField("SEG_ID", StringType(), True)\
                       ,StructField("CUST_NAME", StringType(), True)\
                       ,StructField("CUST_CNIC", StringType(), True)\
                       ,StructField("CUST_GENDER", StringType(), True)\
                       ,StructField("CUST_DOB", StringType(), True)\
                       ,StructField("CUST_MOBILE", StringType(), True)\
                       ,StructField("CUST_EMAIL", StringType(), True)\
                       ,StructField("PAN", StringType(), True)\
                       ,StructField("TRAN_DATE", StringType(), True)\
                       ,StructField("TRAN_CURRENCY", StringType(), True)\
                       ,StructField("TRAN_AMOUNT", FloatType(), True)\
                       ,StructField("STAN", StringType(), True)\
                       ,StructField("MERCHANT_CAT_CODE", StringType(), True)\
                       ,StructField("MERCHANT_NAME", StringType(), True)\
                       ,StructField("MERCHANT_TYPE", StringType(), True)\
                       ,StructField("TRAN_LOCATION", StringType(), True)\
                       ,StructField("RESPONSE_NAME", StringType(), True)\
                       ,StructField("CHANNEL_NAME", StringType(), True)\
                       ,StructField("NETWORK_NAME", StringType(), True)\
                       ,StructField("ACCT_STATUS_NAME", StringType(), True)\
                       ,StructField("ACCT_TYPE_NAME", StringType(), True)\
                       ,StructField("card_status", StringType(), True)\
                       ,StructField("product_code", StringType(), True)])

df = spark.createDataFrame(pdf,schema=mySchema)

【问题讨论】:

  • 尝试显示(df)
  • 您能指出错误吗?数据似乎是一样的。

标签: python-3.x pyspark pyodbc


【解决方案1】:

这是预期的行为。如果您想漂亮地打印它,请尝试:

display(df)

如果你只想要前两行,你可以尝试类似

df.take(2)

但它不会打印得很漂亮。

【讨论】:

    猜你喜欢
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多