草庐IT

pyspark-dataframes

全部标签

hadoop - PySpark:在连接中处理 NULL

我正在尝试在pyspark中加入2个数据帧。我的问题是我希望我的“InnerJoin”能够通过,而不管NULL。我可以看到,在Scala中,我有的替代项。但是,在pyspark中不起作用。userLeft=sc.parallelize([Row(id=u'1',first_name=u'Steve',last_name=u'Kent',email=u's.kent@email.com'),Row(id=u'2',first_name=u'Margaret',last_name=u'Peace',email=u'marge.peace@email.com'),Row(id=u'3',fi

hadoop - Pyspark es.query 仅在默认情况下有效

在pypspark中,我可以获得从ES返回的数据的唯一方法是保留es.query默认值。这是为什么?es_query={"match":{"key":"value"}}es_conf={"es.nodes":"localhost","es.resource":"index/type","es.query":json.dumps(es_query)}rdd=sc.newAPIHadoopRDD(inputFormatClass="org.elasticsearch.hadoop.mr.EsInputFormat",keyClass="org.apache.hadoop.io.NullWr

ubuntu - 从 Pyspark 访问 HDFS 失败

我已经在Ubuntu17.04上安装了Hadoop2.7.3和pyspark2.2.0。Hadoop和Pyspark似乎都可以独立运行。但是,我没有设法从Pyspark中的HDFS获取文件。当我尝试从HDFS获取文件时,出现以下错误:https://imgur.com/j6Dy2u7我在另一篇文章中看到,需要设置环境变量HADOOP_CONF_DIR才能访问HDFS。我也这样做了(见下一个屏幕截图),但随后出现另一个错误,Pyspark不再工作。https://imgur.com/AMpJ6TB如果我删除环境变量,一切都像以前一样。如何解决在Pyspark中从HDFS打开文件的问题?我

python-3.x - 示例 Pyspark 程序返回 [WinError 2] 系统找不到文件

这是我要运行的代码。我已经为spark、hadoop、java和python设置了路径。使用Java8、Spark2.2.1和hadoop2.7.5。importrandomfrompysparkimportSparkContext,SparkConfconf=SparkConf().setAppName('MyFirstStandaloneApp')sc=SparkContext(conf=conf)NUM_SAMPLES=20definside(p):x,y=random.random(),random.random()returnx*x+y*y我收到的错误在这里:Tracebac

MongoDB pyspark 连接器问题,[错误 13] 权限被拒绝 'home/.cache'

我在pyspark和mongoDB之间建立简单的“helloworld”连接时遇到了问题(参见我正在尝试模拟的示例https://github.com/mongodb/mongo-hadoop/tree/master/spark/src/main/python)。有人可以帮我理解并解决这个问题吗?详细信息:我可以使用下面看到的--jars--conf--py-files成功运行pysparkshell,然后导入pymongo_spark,最后连接到数据库;但是,当我尝试打印“helloworld”时,由于permissiondenied'/home/.cache'问题,python无法

scala - 将 spark dataframe 写入现有的 parquet hive 表

想要将spark数据帧写入现有的parquethive表。我可以使用df.write.mode("append").insertIto("myexistinghivetable")来完成,但是如果我检查文件系统,我可以看到spark文件以.c000扩展名登陆.那些文件是什么意思?以及如何将dataframe写入parquethive表。 最佳答案 我们可以使用df.write.partitionBy("mypartitioncols").format("parquet").mode(SaveMode.Append).saveAsTa

mongodb - 是否可以将数据库直接从 HDFS 作为 DataFrame 加载到 spark 中?

我的MongoDB和Spark在Zeppelin上运行,它们共享相同的HDFS。MongoDB生成一个存储在同一个HDFS中的.wt数据库。我想将MongoDB生成的数据库集合从HDFS加载到SparkDataFrame中。是否可以将数据库直接从HDFS作为DataFrame加载到spark中?还是我需要使用MongoDBSpark连接器? 最佳答案 我不建议阅读或修改内部WiredTigerStorageEngine's*.wt文件。首先,这些内部文件可能会在没有通知的情况下更改(不是面向公众的API),而且对这些文件的任何意外修

python - 在 PySpark 中使用 rdd.map 对字符串进行 Unpickling 和编码

我需要将代码从PySpark1.3移植到2.3(也仅在Python2.7上)并且我在rdd上有以下映射转换:importcPickleaspickleimportbase64path="my_filename"my_rdd="rddwithdata"#pyspark.rdd.PipelinedRDD()#savingRDDtoafilebutfirstencodingeverythingmy_rdd.map(lambdaline:base64.b64encode(pickle.dumps(line))).saveAsTextFile(path)#anothermy_rdd.mapdoi

apache-spark - 无法通过 PySpark 访问 Hive

我是Hadoop/Spark/Hive新手!我创建了一个在本地运行的单节点Linux(Ubuntu18.04.1LTS)虚拟机;Hadoop3.1.0;星火:Spark2.3.1,hive:Hive-3.0.0我的Hive使用标准的DerbyDB,我可以通过终端访问Hive并创建数据库和表,然后查询这些表。我的metastore_db位于~/hivemetastore/metastore_db我还创建了以下内容:hadoopfs-mkdir-p/user/hive/仓库hadoopfs-mkdir-p/tmp/hive(注意-我在$HIVE_HOME/conf或$SPARK_HOME/

scala - Spark : Would a dataframe repartitioned to one node experience a shuffle when a groupBy is called on it?

假设我有一些数据都在同一个分区上(我之前在数据帧上执行了.coalesce(1))。我现在想对数据进行分组并对其进行聚合。如果我在数据框上使用.groupBy,这些组会被放置到不同的节点上吗?如果这是真的,我想避免这种情况,因为我想对这些组执行这些计算而不需要过多改组。 最佳答案 首先,coalesce(1)并不能保证你的所有数据都在一个节点中,要确保你必须使用repartition(1),这将迫使您将所有数据统一在一个节点中。coalesce仅对同一节点中的分区进行分组,因此如果您的数据分布在5个节点中(每个节点中有多个分区),它