【问题标题】:scala spark to read file from hdfs clusterscala spark从hdfs集群读取文件
【发布时间】:2019-07-09 18:40:12
【问题描述】:

我正在学习使用 Scala 开发 Spark 应用程序。我正处于我的第一步。 我在 Windows 上有我的 scala IDE。如果从本地驱动器读取文件,则配置并运行顺利。但是,我可以访问远程 hdfs 集群和 Hive 数据库,我想针对该 Hadoop 集群开发、尝试和测试我的应用程序......但我不知道如何:(

如果我尝试

val rdd=sc.textFile("hdfs://masternode:9000/user/hive/warehouse/dwh_db_jrtf.db/discipline")

我会收到一个错误,其中包含:

Exception in thread "main" java.io.IOException: Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group tag did not match expected tag.; Host Details : local host is: "MyLap/11.22.33.44"; destination host is: "masternode":9000; 

有人可以指导我吗?

【问题讨论】:

    标签: scala apache-spark hdfs


    【解决方案1】:

    您可以使用 SBT 将代码打包到 .jar 文件中。 scp 您在节点上的文件,然后尝试通过 spark-submit 提交它。

    spark-submit \
    --class <main-class> \
    --master <master-url> \
    --deploy-mode <deploy-mode> \
    --conf <key>=<value> \
    ... # other options
    <application-jar> \
    [application-arguments]
    

    您无法以这种方式从您的 Windows 机器访问您的集群。

    【讨论】:

    • 我说我正在使用“Scala IDE”...我不是在问关于在命令行上运行
    • 这就是 Spark 应用程序的部署方式。您有答案:“如果从本地驱动器读取文件,则运行顺利”-> hdfs://masternode:9000/ 不是本地的。不过你好像很懂所以...
    猜你喜欢
    • 2021-06-18
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 2021-06-25
    • 1970-01-01
    相关资源
    最近更新 更多