CSVファイルを読み込むためにsparkを使用します.csvのフィールド値の1つは91520122094491671D
です。
読み取り後、値は9.152012209449166...
です。
文字列が数字で始まり、D/Fで終わると、その結果になります。
しかし、私は文字列としてデータを読む必要があります。
どうすればいいですか?CSVファイルの読み込み - 列の値は数字で始まり、D/Fで終わります。
これはCSVファイルのデータです。
sparkSession.read.format("com.databricks.spark.csv")
.option("header", "true")
.option("inferSchema", true.toString)
.load(getHadoopUri(uri))
.createOrReplaceTempView("t_datacent_cus_temp_guizhou_ds_tmp")
sparkSession.sql(
s"""
| select cast(tax_file_code as String) as tax_file_code,
| cus_name,
| cast(tax_identification_number as String) as tax_identification_number
| from t_datacent_cus_temp_guizhou_ds_tmp
""".stripMargin).createOrReplaceTempView("t_datacent_cus_temp_guizhou_ds")
sparkSession.sql("select * from t_datacent_cus_temp_guizhou_ds").show
結果を以下に示す:次のように
tax_file_code| cus_name| tax_identification_number
T19915201| 息烽家吉装饰材料店| 91520122094491671D
Scalaのコードです。
+-----------------+-----------------+-------------------------+
|tax_file_code | cus_name |tax_identification_number|
+-----------------+-----------------+-------------------------+
| T19915201 |息烽家吉装饰材料店 | 9.152012209449166...|
+-----------------+-----------------+-------------------------+
「9.15 ... E20」と似ていませんか?言い換えれば、それは指数形式です –
あなたの質問にCSVのサンプル行とスパークコードを含めるようにしてください –
OK、私の質問を変更しました –