본문 바로가기
파이썬

파이썬 Pyspark는 표준 목록을 데이터 프레임으로 변환

by º기록 2020. 10. 14.
반응형

케이스는 정말 간단합니다. 다음 코드를 사용하여 파이썬 목록을 데이터 프레임으로 변환해야합니다.

from pyspark.sql.types import StructType
from pyspark.sql.types import StructField
from pyspark.sql.types import StringType, IntegerType

schema = StructType([StructField("value", IntegerType(), True)])
my_list = [1, 2, 3, 4]
rdd = sc.parallelize(my_list)
df = sqlContext.createDataFrame(rdd, schema)

df.show()

다음 오류로 인해 실패했습니다.

    raise TypeError("StructType can not accept object %r in type %s" % (obj, type(obj)))
TypeError: StructType can not accept object 1 in type <class 'int'>

 

해결 방법

 

이 솔루션은 또한 더 적은 코드를 사용하고 RDD 로의 직렬화를 피하며 이해하기 쉬운 접근 방식입니다.

from pyspark.sql.types import IntegerType

# notice the variable name (more below)
mylist = [1, 2, 3, 4]

# notice the parens after the type name
spark.createDataFrame(mylist, IntegerType()).show()

참고 : 변수 list 이름 지정 정보 : list 라는 용어는 Python 내장 함수이므로 이름 / 라벨로 내장 이름을 사용하지 않는 것이 좋습니다. list () 함수와 같은 것을 덮어 쓰게되기 때문입니다. 빠르고 더러운 것을 프로토 타이핑 할 때 많은 사람들이 mylist 와 같은 것을 사용합니다.

 

참조 페이지 https://stackoverflow.com/questions/48448473

 

 

반응형

댓글