草庐IT

sparking

全部标签

hadoop - 使用 Apache Spark 多次插入到表中

我正在做一个项目,但我遇到了以下情况。我有一张表:superMerge(id,name,salary)我还有另外两个表:table1和table2所有表(table1、table2和superMerge)都具有相同的结构。现在,我的挑战是从表1和表2插入/更新superMerge表。table1每10分钟更新一次,table2每20分钟更新一次,因此在时间t=20mins我有2个作业试图更新同一个表(在这种情况下为superMerge。)我想了解如何使用Spark或任何其他hadoop应用程序将并行插入/更新/合并到superMerge表中。 最佳答案

hadoop - 写elasticsearch时Spark不支持arraylist吗?

我有以下结构:mylist=[{"key1":"val1"},{"key2":"val2"}]myrdd=value_counts.map(lambdaitem:('key',{'field':somelist}))我得到错误:15/02/1015:54:08INFOscheduler.TaskSetManager:在执行程序ip-10-80-15-145.ec2.internal上的2.0阶段(TID6)丢失任务1.0:org.apache.spark.SparkException(数据不能使用java.util.ArrayList类型)[重复1]rdd.saveAsNewAPIHa

hadoop - 使元数据无效/从 spark 代码刷新 imapala

我正在开发一个NRT解决方案,它要求我经常更新Impala表上的元数据。目前,此失效是在我的spark代码运行后完成的。我想通过直接从我的Spark代码执行此刷新/无效来加快速度。什么是最有效的方法?Oozie太慢了(30秒开销?不,谢谢)对(边缘)节点的SSH操作似乎是一个有效的解决方案,但感觉“hackish”我也没有看到从Spark中的Hive上下文执行此操作的方法。 最佳答案 REFRESH和INVALIDATEMETADATA命令特定于Impala。您必须连接到Impala守护进程才能运行它们——这会触发Impala特定元

hadoop - 如果没有,如何处理 Spark RDD 分区。执行者 < 没有。 RDD分区

我想了解SparkStreaming中的一个基本知识。我有50个Kafka主题分区和5个执行程序,我使用的是DirectAPI,所以没有。RDD分区的数量将为50。如何在5个执行程序上处理该分区?将在每个执行器上一次启动1个分区,或者如果执行器有足够的内存和内核,它将在每个执行器上并行处理超过1个分区。 最佳答案 Willsparkprocess1partitionatatimeoneachexecutorsoriftheexecutorhasenoughmemoryandcoresitwillprocessmorethan1par

hadoop - 在不创建 _temporary 文件夹的情况下将 Spark 数据帧作为 Parquet 写入 S3

我正在使用pyspark从AmazonS3上的Parquet文件中读取数据帧,例如dataS3=sql.read.parquet("s3a://"+s3_bucket_in)这没有问题。但是后来我尝试写数据dataS3.write.parquet("s3a://"+s3_bucket_out)我确实得到以下异常py4j.protocol.Py4JJavaError:Anerroroccurredwhilecallingo39.parquet.:java.lang.IllegalArgumentException:java.net.URISyntaxException:Relativep

scala - Spark 数据帧 : Pivot and Group based on columns

我有如下输入数据框,其中包含id、app和customer输入数据框+--------------------+-----+---------+|id|app|customer|+--------------------+-----+---------+|id1|fw|WM||id1|fw|CS||id2|fw|CS||id1|fe|WM||id3|bc|TR||id3|bc|WM|+--------------------+-----+---------+预期输出使用pivot和聚合-将应用值作为列名并将聚合的客户名称作为数据框中的列表预期的数据帧+-----------------

hadoop - Kafka Spark 流式传输 : unable to read messages

我正在使用spark-streaming集成Kafka和Spark。我作为kafka生产者创建了一个主题:bin/kafka-topics.sh--create--zookeeperlocalhost:2181--replication-factor1--partitions1--topictest我在kafka中发布消息并尝试使用spark-streamingjava代码读取它们并将它们显示在屏幕上。守护进程全部启动:Spark-master,worker;动物园管理员;卡夫卡。我正在使用KafkaUtils.createStream编写一个Java代码来完成它代码如下:public

Scala spark 按键归约并找到共同值(value)

我有一个csv数据文件,作为sequenceFile存储在HDFS上,格式为name,zip,country,fav_food1,fav_food2,fav_food3,fav_colour。可能有许多同名的条目,我需要找出他们最喜欢的食物是什么(即计算所有记录中具有该名称的所有食物条目并返回最受欢迎的条目。我是Scala和Spark的新手并且有仔细阅读了多个教程并搜索了论坛,但我仍然不知道如何继续。到目前为止,我已经得到了将文本转换为字符串格式然后过滤掉条目的序列文件这是文件中一行的示例数据条目Bob,123,USA,Pizza,Soda,,BlueBob,456,UK,Chocol

java - 如何在spark RDD(JavaRDD)中获取记录的文件名

我正在使用JavaRDD加载多个文件JavaRDDallLines=sc.textFile(hdfs://path/*.csv);加载文件后,我修改了每条记录并想保存它们。但是,我还需要将原始文件名(ID)与记录一起保存,以备将来引用。无论如何,我可以从RDD中的单个记录中获取原始文件名吗?谢谢 最佳答案 您可以尝试执行以下代码段中的操作:JavaPairRDDjavaPairRDD=sc.newAPIHadoopFile("hdfs://path/*.csv",TextInputFormat.class,LongWritable.

scala - 为什么 Spark reduceByKey 的结果不一致

我正在尝试使用scala通过spark计算每行的迭代次数。以下是我的输入:1维克拉姆2萨钦3肖比特4好吧5个阿库尔5个阿库尔1维克拉姆1维克拉姆3肖比特10阿树5个阿库尔1维克拉姆2萨钦7维克拉姆现在我创建了2个独立的RDD,如下所示。valf1=sc.textFile("hdfs:///pathtoabovedatafile")valm1=f1.map(s=>(s.split("")(0),1))//creatingatuple(key,1)//nowificreateaRDDasvalrd1=m1.reduceByKey((a,b)=>a+b)rd1.collect().forea