반응형
Create DataFrame from Dictionary Array
from pyspark.sql import Row
valuesA = [('Pirate',1),('Monkey',2),('Ninja',3),('Spaghetti',4)]
rdd1 = sc.parallelize(valuesA)
rddA = rdd1.map(lambda x: Row(name = x[0], id = x[1]))
TableA = sqlContext.createDataFrame(rddA)
# TableA1 = spark.createDataFrame(valuesA, ['name', 'id'])
valuesB = [('Rutabaga',1),('Pirate',2),('Ninja',3),('Darth Vader',4)]
rdd2 = sc.parallelize(valuesB)
rddB = rdd2.map(lambda x: Row(name = x[0], id = x[1]))
TableB = sqlContext.createDataFrame(rddB)
# TableB1 = spark.createDataFrame(valuesB, ['name', 'id'])
TableA.show()
TableB.show()
Alias Table
ta = TableA.alias('ta')
tb = TableB.alias('tb')
ta.show()
tb.show()
Inner Join between two Tables
inner_join = ta.join(tb, ta.name == tb.name)
inner_join.show()
Left Join between two Tables
left_join = ta.join(tb, on = "name", how = "left")
left_join.show()
left_join2 = ta.join(tb, ta.name == tb.name, how='left') # Could also use 'left_outer'
left_join2.show()
반응형
'컴퓨터공학' 카테고리의 다른 글
AI 기반의 정보 보안 위협 (0) | 2025.02.15 |
---|---|
네트워크 보안 - 기본 개념 Summary (0) | 2019.12.19 |
분산 파일 시스템 - Hadoop (0) | 2019.12.04 |
클라우드 컴퓨팅 기술 정리 (1) | 2019.12.03 |
클라우드 시스템 개요 (0) | 2019.12.02 |