草庐IT

scala-cats

全部标签

scala - 无法从Sqoop创建的Spark中的序列文件创建数据框

我想读取orders数据并从中创建RDD,它作为sequence文件存储在cloudera的hadoopfs中虚拟机。以下是我的步骤:1)将订单数据导入为序列文件:sqoopimport--connectjdbc:mysql://localhost/retail_db--usernameretail_dba--passwordcloudera--tableorders-m1--target-dir/ordersDataSet--as-sequencefile2)在sparkscala中读取文件:星火1.6valsequenceData=sc.sequenceFile("/ordersD

scala - Spark : How to get the latest file from s3 in the last 10 days

当输入中不存在文件时,我试图在过去10天内从s3获取最新文件。问题是路径包含日期。我的路径是这样的:valpath="s3://bucket-info/folder1/folder2"valdate="2019/04/12"##YYYY/MM/DD我正在做这个=valupdate_path=path+"/"+date//thiswillbecomes3://bucket-info/folder1/folder2/2019/04/12deffileExist(path:String,sc:SparkContext):Boolean=FileSystem.get(getS3OrFileUr

scala - 水平连接多个数据框

我有以下数据框valcount:Dataframe=spark.sql("select1,$database_name,$table_namecount(*)from$table_name")输出:1,stock,T076p,4332valdist_count:Dataframe=spark.sql("1,selectdistinctcount(*)from$table_name")`输出:4112or4332(canbesame)valtruecount:Dataframe=spark.sql("select1,count(*)from$table_namewhereflag=tru

scala - Spark 作为 Hive 的执行引擎

Spark2.4.2可以用作AmazonEMR上的Hive2.3.4的执行引擎吗?我已通过以下命令将jar文件与配置单元(scala-library、spark-core、spark-common-network)链接起来:cd$HIVE_HOME/libln-s$SPARK_HOME/jars/spark-network-common_2.11-2.4.2.jarln-s$SPARK_HOME/jars/spark-core_2.11-2.4.2.jarln-s$SPARK_HOME/jars/scala-library-2.11.12.jar在hive-site.xml中添加了以下

scala - Scalding:管道操作的输出模式

我正在HDFS上通过烫洗、聚合某些字段并通过TSV写入制表符分隔文件来重新读取文件。如何写出包含输出文件架构的文件?例如,UnpackedAvroSource(args("input")).project('key,'var1).groupBy('key){_.sum[Long]('var1->var1sum))}.write(Tsv(args("output")))我想写一个包含“Key,var1sum”的输出文本文件,以后拿起我的ooutput文件的人知道这些列是什么。我假设scalding没有将它嵌入文件中的某个地方?谢谢。 最佳答案

scala - spark 文本文件加载文件而不是行

在Spark中,我们可以使用textFile将文件加载到行中,并尝试对这些行进行如下操作。vallines=sc.textFile("xxx")valcounts=lines.filter(line=>lines.contains("a")).count()但是,在我的情况下,我想将文件加载到block中,因为文件和block中的数据如下所示。block将在文件中用空行分隔。user:111book:222comments:likeit!因此,我希望textFile函数或任何其他解决方案可以帮助我加载带有block的文件,这可以通过以下方式实现。valblocks=sc.textFil

scala - 我如何更改 Apache Spark 上的数据位置

我在Spark中遇到数据局部性问题。我想知道我是否有可能告诉Spark应该如何在节点上对数据进行分区。比如我在HDFS上有一个文件,我想获取一个RDD。我想根据此数据的特定属性(例如,根据此数据最后一列的值)对该数据进行分区。提前致谢 最佳答案 这种行为由您正在创建的RDD子类控制,在您的示例中是Haddoop或NewHadoopRDD,具体取决于您使用的是哪种HadoopAPI。在每个RDD子类中,您可以覆盖getPreferedLocations方法,该方法说明每个分区的计算位置。正如@user52045所说,您可以实现自定义分

scala - 使用 Scala 在 Spark 中进行 ETL 处理

我正在使用scala在Spark中执行ETL过程。原始日志文件包含两列名称和年龄。我的ETL过程读取并验证原始日志并生成另外两列,即标志和验证消息。标志列指定行是否有效。(如果行有效=1否则为0)验证列指定行无效的原因。例。原始日志文件RAM,35SAM,45JAM,ww这里最后一行无效所以我的最终输出将是RAM,35,1,""SAM,45,1,""JAM,ww,0,"invalidage"我的scala代码是importsqlContext._valpeople=sc.textFile("hdfs://..../rawT.csv").map(_.split(","))valbase_

scala - Spark SBT 程序尝试从本地文件系统而不是 IntelliJ 项目中的 hdfs 读取

我安装了Hadoop(hadoop-2.7.2.tar.gz)和Spark(spark-1.6.0-bin-without-hadoop.tgz)。两者均已正确配置以协同工作。我能够遵循this的scala版本动手教程,以读取存储在hdfs上的文件并应用ALS算法提供建议。但是现在当我尝试在IntelliJIDE中做同样的事情时,我得到了这个错误:Exceptioninthread"main"org.apache.hadoop.mapred.InvalidInputException:Inputpathdoesnotexist:file:/data/movielens/medium我想

scala - 是否可以在 Namenode 上执行任务?

我将Spark与HDFS和yarn结合使用,所以基本上spark在hadoop上运行。我使用yarn-client模式在集群上运行任务。默认情况下,任务在集群的数据节点上执行。但是,我也希望namenode执行一些任务,因为它一直处于空闲状态。那么,是否也可以让名称节点执行一些任务?如果是,怎么办? 最佳答案 更具体地说,Spark任务不在数据节点上运行。当在Hadoop上运行Spark时,任务在Nodemanagers上执行,Nodemanagers是Hadoop/Yarn集群上每个从属节点上运行的hadoop/yarn集群中的执