1. Spark DataFrame转numpy array:
先转换成pandas DataFrame,然后再转换成numpy array
import pandas as pd
import numpy as np
df=spark.createDataFrame([(101,1,16), (102,2,13),(103,5,19), (104,4,22)], ['ID','A','B'])
pandas_df = df.toPandas()
np_matrix = df.toPandas().values
2. Spark DataFrame转出:
先用collect()函数转换成list of Rows,然后每个row的每个字段的访问就像Python的dict,也可以像python的list。
比如:
df=spark.createDataFrame([(101,1,16), (102,2,13),(103,5,19), (104,4,22)], ['ID','A','B'])
for row in df.collect():
print(row['B'])
16
13
for row in df.collect():
print(row[2])
16
13
3. Spark DataFrame 动态写入分区表的多分区
如果建立了名为spark的sparkSession,那么:
# 如果是自己建立SparkSession,建立的时候可以这样,第二个config就可以保证打开动态分区
warehouseLocatio