PySparkの新機能です。私はパンダを使ってCSVファイルを引っ張った。 そして、registerTempTable関数を使用して一時テーブルを作成しました。PySpark SQLのLEFTとRIGHT関数
from pyspark.sql import SQLContext
from pyspark.sql import Row
import pandas as pd
sqlc = SQLContext(sc)
aa1 = pd.read_csv("D:\mck1.csv")
aa2 = sqlc.createDataFrame(aa1)
aa2.show()
+--------+-------+----------+------------+---------+------------+-------------------+
| City| id|First_Name|Phone_Number|new_date|new code| New_date|
+--------+-------+----------+------------+---------+------------+-------------------+
|KOLKATTA|9000007| AAA| 1111119411| 20080714| 13|2016-08-16 00:00:00|
|KOLKATTA|9000007| BBB| 1111119421| 20080714| 13|2016-08-06 00:00:00|
|KOLKATTA|9000007| CCC| 1111119461| 20080714| 13|2016-08-13 00:00:00|
|KOLKATTA|9000007| DDD| 1111119471| 20080714| 13|2016-08-27 00:00:00|
|KOLKATTA|9000007| EEE| 1111119491| 20080714| 13|2016-08-15 00:00:00|
|KOLKATTA|9111147| FFF| 1111119401| 20080714| 13|2016-08-24 00:00:00|
|KOLKATTA|9585458| FORMULA| 1111110112| 19990930| 13|2016-08-16 00:00:00|
|KOLKATTA|9569878| APPLEII| 1111110132| 19990930| 13|2016-08-06 00:00:00|
aa3 = aa2.registerTempTable("mytable1")
sqlc.sql(""" select right(phone_number,4) from mytable1 """).show()
は今、私はとfollowungエラー直面(4、PHONE_NUMBER)権利を使用して、電話番号の右を使用して、最後の4つの文字を引っ張ってみてください
pysparkは、左右の機能をサポートしていないのはなぜ? 1つの列に対して4文字分の権利を取得するにはどうすればよいですか?
ドキュメントから左(phone_number、4)に部分文字列(phone_number、1,4)を使うことができます。どのようにしてrに部分文字列を使うことができますか? – Green
編集済み - 上のコメントを参照してください – flyingmeatball