다음은 두 개의 데이터 프레임을 비교하고 교차 함수를 부과하기 위해 작성한 코드입니다.데이터 프레임을 비교하는 pyspark intersection() 함수
import os
from pyspark import SparkContext
sc = SparkContext("local", "Simple App")
from pyspark.sql import SQLContext, Row
sqlContext = SQLContext(sc)
from pyspark.sql import HiveContext
sqlContext = HiveContext(sc)
df = sqlContext.read.format("jdbc").option("url","jdbc:sqlserver://xxx:xxx").option("databaseName","xxx").option("driver","com.microsoft.sqlserver.jdbc.SQLServerDriver").option("dbtable","xxx").option("user","xxxx").option("password","xxxx").load()
df.registerTempTable("test")
df1= sqlContext.sql("select * from test where amitesh<= 300")
df2= sqlContext.sql("select * from test where amitesh <= 400")
df3= df1.intersection(df2)
df3.show()
나는 오류가 아래에 무엇입니까 : 나의 이해가 정확한지
AttributeError: 'DataFrame' object has no attribute 'intersection'
경우, 교차() 파이썬 설정 기능에서 파생 된 붙박이 하위 기능입니다. 그래서
1) 내가 pyspark에서 사용하려고한다면, 내 코드 안에 특별한 모듈을 가져올 필요가 있을까, 아니면 pyspark를 위해서 내장 된 것처럼 작동해야합니까?
2)이 intersection() 함수를 사용하려면 먼저 df를 rdd로 변환해야합니까?
내가 잘못한 부분을 수정하십시오. 누군가가 저에게 실제 사례를 줄 수 있습니까?
내 동기는 SQL 서버에서 공용 레코드를 가져와 HIVE로 이동하는 것입니다. 지금부터는 교차 기능이 작동하도록 노력한 후 교차()가 작동하는 경우 처리 할 수 있다는 HIVE 요구 사항부터 시작하려고합니다.