0
私はこのpysparkは
+------+------------+
| fruit|fruit_number|
+------+------------+
| apple| 20|
|orange| 33|
| pear| 27|
| melon| 31|
| plum| 8|
|banana| 4|
+------+------------+
のようなテーブルがあると私はこの
|fruit_number_range| number of types of fruit|
|less than 5 | 1 |
|less than 25 | 3 |
|more than 25 | 2 |
Iのようなテーブルを生成したいデータの入ったバケツを生成するために、列の間隔値に新しいカラムベースを生成します1つの列の間隔値に基づいて新しい列を生成する方法があるかどうか疑問です。ここで
私はフルーツのテーブルを生成する方法のコードは次のとおりです。
from pyspark import SparkConf, SparkContext
from pyspark.sql import SQLContext, HiveContext,Row
sqlContext = HiveContext(sc)
from pyspark.sql.types import StringType, IntegerType, StructType, StructField,LongType
from pyspark.sql.functions import sum, mean,col
rdd = sc.parallelize([('apple', 20),
('orange',33),
('pear',27),
('melon',31),
('plum',8),
('banana',4)])
schema = StructType([StructField('fruit', StringType(), True),
StructField('fruit_number', IntegerType(),True)])
df = sqlContext.createDataFrame(rdd, schema)
あなたは3つのバケット(= 25 <5, <25, >をカウントするUDF(ユーザー定義関数)を書くことができます)。例えば、バケットが均一である場合。 5,10,15,20,25,30 ...ヒストグラムと呼ばれます。 Google for Spark +のヒストグラム –