序文
今日は時間がある、私たちは同僚に簡単にアクセスするために、あなたのノートを共有することになります。詳細かつ常時更新。便宜上、例はPythonで書かれている、他の言語のフォローアップのバージョンが存在します。
プログラムのエントリを作成します。
SparkContext入り口
from pyspark import SparkConf, SparkContext
if __name__ == '__main__':
conf = SparkConf().setAppName("test").setMaster("local")
sc = SparkContext(conf=conf)
rdd1 = sc.parallelize([1, 2, 3, 4, 5])
rdd2 = rdd1.map(lambda x: x + 1)
print(rdd2.collect())
SparkSession入り口
from pyspark.sql import SparkSession, DataFrame
if __name__ == '__main__':
spark: SparkSession = SparkSession.builder
.appName('test')
.master('local')
.enableHiveSupport()
.getOrCreate()
# 创建list的list
lists = [['a', 1], ['b', 2]]
# 构建具有默认生成的列_1、_2的DataFrame
dataframe: DataFrame = spark.createDataFrame(lists)
dataframe.show()
関係SparkConextとSparkSession
コンテキストは、セッションのプロパティです
spark: SparkSession = SparkSession.builder.appName('test').master('local').enableHiveSupport().getOrCreate()
sc: SparkContext = spark.sparkContext
RDDとの関係のデータフレーム
データフレームテーブルの関係が厳密さ
RDDは、比較的緩い関係である(請求pairRDDが幾分厳しく点ので、いくつかの特別な操作があります)
EET转データフレーム
dataframe = spark.createDataFrame(rdd, schema=None, samplingRatio=None)
データフレーム转EET
dataframe = spark.createDataFrame([Row(col1='a', col2=1), Row(col1='b', col2=2)])
rdd = dataframe.rdd
SparkStreaming入り口
spark = SparkSession.builder.appName('test').master('local[*]').getOrCreate()
ss = StreamingContext(spark.sparkContext, 10)