gpt4 book ai didi

scala - 数据未加载到 Scala 中的表中

转载 作者:行者123 更新时间:2023-12-03 03:10:31 25 4
gpt4 key购买 nike

我使用下面的代码片段将数据加载到表中。但数据未加载到表中。

import org.apache.spark.sql.SQLContext
import org.apache.spark.sql.functions._
import java.text.SimpleDateFormat
import java.util.Calendar
import sqlContext.implicits._
import org.apache.spark.sql.Row
import org.apache.spark.sql.types.{StructType, StructField, StringType, IntegerType, FloatType, DoubleType}
import org.apache.spark.sql.functions.rand
import scala.io.Source

val sqlContext = new SQLContext(sc)

val TextFiledata= sc.textFile("wasb://Test.txt")

val schema = StructType(
Array(
StructField("ABC", StringType, true),
StructField("XYZ", StringType, true)
)
)

val mapped = TextFiledata
.map(_.split("#|#"))
.filter(r => r(0) != "ABC")
.map(p => Row(p(0), p(1))


val DF = sqlContext.createDataFrame(mapped ,schema)
DF.registerTempTable("Table")

最佳答案

根据你的代码val TextFiledata= sc.textFile("wasb://Test.txt") ,我认为基于Azure Blob存储的HDFS的文件路径不正确。

WASB URI 语法为:

wasb[s]://<containername>@<accountname>.blob.core.windows.net/<path>

因此您应该将该文件引用为 wasbs:///Test.txtwasbs://<ContainerName>@<StorageAccountName>.blob.core.windows.net/Test.txt .

使用 wasb:// 时URI 方案,Spark 使用未加密的 HTTP 从 Azure 存储 Blob 终结点访问数据。我们可以使用wasbs://以确保通过 HTTPS 访问数据。

关于scala - 数据未加载到 Scala 中的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38894048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com