0
我已经导入CSV文件到使用pyspark.sql火花,并通过它注册为一个临时表:如何从字符串值中获取数字代码?
import pyspark
from pyspark.sql import SQLContext
sc = pyspark.SparkContext()
from pyspark.sql import HiveContext
sqlCtx= HiveContext(sc)
spark_df = sqlCtx.read.format('com.databricks.spark.csv').options(header='true', inferschema='true').load("./data/geo_file.csv")
spark_df.registerTempTable("geo_table")
在表“geo_table”有一个叫“geo_location”有值,如柱:
US> TX> 618
US> NJ> 241
US> NJ
我的问题是,如何将这些文本值转换为数值?在SQL或pyspark.sql?
在熊猫,我会做这个
df["geo_location_categories"] = df["geo_location"].astype('category')
df["geo_location_codes"] = df["geo_location_categories"].cat.codes