- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用画面显示来自 HDInsight SPARK 的数据。我在关注 this video他们在其中描述了如何连接两个系统并公开数据。
目前我的脚本本身非常简单,如下所示:
/* csvFile is an RDD of lists, each list representing a line in the CSV file */
val csvLines = sc.textFile("wasb://mycontainer@mysparkstorage.blob.core.windows.net/*/*/*/mydata__000000.csv")
// Define a schema
case class MyData(Timestamp: String, TimezoneOffset: String, SystemGuid: String, TagName: String, NumericValue: Double, StringValue: String)
// Map the values in the .csv file to the schema
val myData = csvLines.map(s => s.split(",")).filter(s => s(0) != "Timestamp").map(
s => MyData(s(0),
s(1),
s(2),
s(3),
s(4).toDouble,
s(5)
)
).toDF()
// Register as a temporary table called "processdata"
myData.registerTempTable("test_table")
myData.saveAsTable("test_table")
不幸的是我遇到了以下错误
warning: there were 1 deprecation warning(s); re-run with -deprecation for details
org.apache.spark.sql.AnalysisException: Table `test_table` already exists.;
at org.apache.spark.sql.DataFrameWriter.saveAsTable(DataFrameWriter.scala:209)
at org.apache.spark.sql.DataFrameWriter.saveAsTable(DataFrameWriter.scala:198)
我还尝试过使用下面的代码覆盖表(如果存在)
import org.apache.spark.sql.SaveMode
myData.saveAsTable("test_table", SaveMode.Overwrite)
但它仍然给我同样的错误。
warning: there were 1 deprecation warning(s); re-run with -deprecation for details
java.lang.RuntimeException: Tables created with SQLContext must be TEMPORARY. Use a HiveContext instead.
at scala.sys.package$.error(package.scala:27)
at org.apache.spark.sql.execution.SparkStrategies$DDLStrategy$.apply(SparkStrategies.scala:416)
at org.apache.spark.sql.catalyst.planning.QueryPlanner$$anonfun$1.apply(QueryPlanner.scala:58)
at org.apache.spark.sql.catalyst.planning.QueryPlanner$$anonfun$1.apply(QueryPlanner.scala:58)
at scala.collection.Iterator$$anon$13.hasNext(Iterator.scala:371)
有人可以帮我解决这个问题吗?
最佳答案
我知道这是我的错误,但我会把它留作答案,因为它在任何博客或论坛答案中都不容易找到。希望它能帮助像我这样开始使用 Spark 的人
我发现 .toDF()
实际上创建了 sqlContext
而不是基于 hiveContext
的 DataFrame
。所以我现在更新了我的代码如下
// Map the values in the .csv file to the schema
val myData = csvLines.map(s => s.split(",")).filter(s => s(0) != "Timestamp").map(
s => MyData(s(0),
s(1),
s(2),
s(3),
s(4).toDouble,
s(5)
)
)
// Register as a temporary table called "myData"
val myDataFrame = hiveContext.createDataFrame(myData)
myDataFrame.registerTempTable("mydata_stored")
myDataFrame.write.mode(SaveMode.Overwrite).saveAsTable("mydata_stored")
还要确保 s(4) 具有正确的 double 值,否则添加 try/catch 来处理它。我做了这样的事情:
def parseDouble(s: String): Double = try { s.toDouble } catch { case _ => 0.00 }
parseDouble(s(4))
问候基兰
关于scala - 共享 HDInsight SPARK SQL 表 saveAsTable 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36082831/
我已在 12Gb 开发计算机上安装了 Azure HDInsight 模拟器(“HortonWorks Data Platform 2.1.3.0 For Windows”),它占用了我的所有 RAM
创建新的 HDInsight 群集后,当我提供身份验证信息并尝试访问 HDInsight Web 门户 https://{Cluster Name}.azurehdinsight.net/时,收到以下
创建新的 HDInsight 群集后,当我提供身份验证信息并尝试访问 HDInsight Web 门户 https://{Cluster Name}.azurehdinsight.net/时,收到以下
我浏览了多个文档,但无法获得与 Azure Databricks 集群相比使用 HDInsigths spark 集群的优势列表。这两者之间是否有任何关键区别。我基本上需要 HDInsights 支持
我是 Microsoft Azure 的新手。我在 Azure 上创建了一个试用帐户。安装了azure powershell并提交了默认的wordcount map reduce程序,它运行良好,并且
我正在尝试使用带有PowerShell(cmdlet Invoke-Hive)的Azure HDInsight在Hive中创建外部表,但是由于以下错误在stderr中失败: Logging initi
我正在尝试创建 Hadoop HDInsight 集群(使用我的免费套餐)。我正在尝试使用不同的默认节点设置(尝试了几种组合),但我的部署始终失败,并显示以下错误消息。 使用节点的默认设置后,部署成功
我是 Microsoft Azure 的新手。我在 Azure 上创建了一个试用帐户。安装了azure powershell并提交了默认的wordcount map reduce程序,它运行良好,并且
我们有在 Azure 上运行的 HDinsight 集群。我试图创建一台客户端计算机来连接到 HDInsight。我按照 Hortonworks 安装指南中的说明安装所有客户端组件,然后将/etc/h
我按照下面显示的链接中的步骤将 Hadoop 2.2 群集与 HDInsight 结合使用。 http://azure.microsoft.com/en-us/documentation/articl
我刚开始研究 HDInsight,但它不能正常工作.. 当我安装新的 HDInsight 时,它运行良好,但如果我重新启动或重新启动系统,服务器无法识别集群。 消息显示为“您的集群“本地 (hdfs)
我无法删除由关联Azure Datalake Store上的Python/Scala/Hive程序创建的文件。当我尝试删除这些文件夹和文件时,我收到访问被拒绝错误。我确保我对这些文件夹和文件拥有完全权
我正在尝试使用下面的 Microsoft 文档创建 Hdinsight-kafka 集群 https://learn.microsoft.com/en-us/azure/hdinsight/kafka
显然,我需要在一台群集计算机上启动一个zookeeper服务器,然后需要其他客户端计算机连接到该服务器。 我这样做的方法是,我使用ssh连接到根节点,我发现一个运行在端口2181上的zk服务器。因此,
我正在使用Hive流作业来处理HDInsight上C#中的某些数据。为了处理数据,脚本必须读取存储为Azure上的Blob的xml文件,如下所示: OperationContext o
是Microsoft“HDInsight”的免费开发下载。下面的URL表示可以下载,但是Microsoft网站上没有这样的链接,任何人都可以告诉我Microsoft“Hadoop”是否免费。 “htt
在 hdinsight hive 编辑器上使用什么命令来连接到特定的存储?通过 b.lodefault,hive 编辑器连接到错误的存储我应该给它什么命令来使用正确的存储 blob?如何使用 hive
我正在Azure HDInsight中运行一个简单的 map 缩小作业,以下是我们正在运行的命令: java -jar WordCount201.jar wasb://hexhadoopcluster
在HDInsight群集上,使用CREATE EXTERNAL语句创建一个Hive表: CREATE EXTERNAL TABLE HTable(t1 string, t2 string, t3 st
我正在考虑将Hive与HDInsight以及将数据加载到Azure Blob存储上。 历史数据和变化中的数据结合在一起。 Update , SET option in Hive中提到的解决方案也可以与
我是一名优秀的程序员,十分优秀!