2017-02-15 129 views
2

我有一個XML文件,看起來像這樣:在pyspark數據幀Acessing嵌套列

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<Position> 
    <Search> 
     <Location> 
      <Region>OH</Region> 
      <Country>us</Country> 
      <Longitude>-816071</Longitude> 
      <Latitude>415051</Latitude> 
     </Location> 
    </Search> 
</Position> 

我讀入一個數據幀:

df = sqlContext.read.format('com.databricks.spark.xml').options(rowTag='Position').load('1.xml') 

我可以看到1列:

df.columns 
['Search'] 

print df.select("Search") 
DataFrame[Search: struct<Location:struct<Country:string,Latitude:bigint,Longitude:bigint,Region:string>>] 

如何訪問嵌套列。 ex Location.Region?

+0

你能後,你得到的數據幀的樣本一行。 –

+0

這是非常有用的謝謝你 – lakshmi

回答

4

你可以做一些象下面這樣:

df.select("Search.Location.*").show() 

輸出:

+-------+--------+---------+------+ 
|Country|Latitude|Longitude|Region| 
+-------+--------+---------+------+ 
|  us| 415051| -816071| OH| 
+-------+--------+---------+------+