1
私はファイルを読み込んでデータフレームに変換するためにspark-csvを使用しています。 特定の列、Xは、0〜2、つまり の値の範囲を持っていますが、いくつかの行は削除する必要がある厄介な末尾の;N
です。Spark - データフレーム内の特定の列の値を操作する(文字を削除する)
_________
| ID | X |
|---------|
| 1 | 0;N|
Sparkでどうすればいいですか? これは私にとって初めてのことです。 私はそれには "フィルタ"の使用が関係していると思いますが、解決できませんでした。一部の行は、私が欲しい が他の;N
後続ていながら、0-2の値を、持っていることを、私はテーブルを参照してくださいどこ
import sys
from pyspark import SparkContext
from pyspark.sql import SQLContext, GroupedData
from pyspark.sql.types import *
sys.path.append("$SPARK_HOME/python/lib")
# Init steps
sc = SparkContext('local')
sc.setLogLevel("WARN")
sqlContext = SQLContext(sc)
print "Loading file... ",
log_df = sqlContext.read.format('com.databricks.spark.csv').\
options(header='true', inferschema='true', delimiter='\t').\
load('/path/to/file.csv') # Load data file
print "Done!"
log_df.select('X').show(20, False)
最後の行は次のとおりです。それは重要な情報だ場合
DATAFRAMEは、次のようにロードされ、削除する
ありがとうございました
私は次のようにして、UDFとラムダ関数を使用して終了: 'UDF = UserDefinedFunction(ラムダX:X [1] lenの場合(X)> 1の他のx、StringType()) df = df.withColumn( 'X'、udf(df ['X'])。キャスト(IntegerType())) ' 私もあなたの答えを受け入れるよ、ありがとう – Adiel