草庐IT

PySpark3

全部标签

hadoop - 配置单元 pyspark 日期比较

我正在尝试将hiveQL查询转换为pyspark。我正在过滤日期并获得不同的结果,我想知道如何让pySpark中的行为与Hive的行为相匹配。配置单元查询是:SELECTCOUNT(zip_cd)FROMtableWHEREdt>='2012-01-01';在pySpark中,我正在进入解释器:importpyspark.sql.functionsaspsfimportdatetimeasdthc=HiveContext(sc)table_df=hc.table('table')DateFrom=dt.datetime.strptime('2012-01-01','%Y-%m-%d')

python - pyspark 的分析器缺少输出

我正在尝试分析提交到我的集群的pyspark作业。这个pysparkPR(https://github.com/apache/spark/pull/2556)表示sc.dump_profiles(path)是命令。我已经尝试将配置文件输出转储到hadoophdfs:///user/username/filename和本地file:///home/username/filename,以及/home/用户名/文件名。作业完成但配置文件从未出现。代码基于这个SO问题(Howtoprofilepysparkjobs),当包含--confspark.python.profile=true时,sc

python - 如何让 PySpark 在内存不足之前将中间结果写入磁盘?

背景:在HadoopStreaming中,每个reduce作业在完成时都会写入hdfs,从而为Hadoop集群执行下一个reduce扫清道路。我无法将此范例映射到(Py)Spark。举个例子,df=spark.read.load('path')df.rdd.reduceByKey(my_func).toDF().write.save('output_path')当我运行它时,集群会在将任何内容写入磁盘之前收集数据框中的所有数据。至少这就是我观察工作进展时正在发生的事情。我的问题是我的数据比我的集群内存大得多,所以我在写入任何数据之前就用完了内存。在HadoopStreaming中,我们

hadoop - 在 PySpark 中显示 Hive 查询的状态

我正在从sparksession(spark)运行Hive查询spark.sql('SELECT*FROMSOME_TABLE').show()在sql函数中是否有一个参数,或者一个配置来打印类似于Hivecli中显示的状态?HadoopjobinformationforStage-1:numberofmappers:1193;numberofreducers:10992017-05-1614:54:38,165Stage-1map=0%,reduce=0%2017-05-1614:54:49,625Stage-1map=1%,reduce=0%,CumulativeCPU213.84

python - 在 Pyspark rdd 中更改 saveAsTextFile 选项中的分隔符

我的数据集在HDFS中可用。我正在阅读它并执行过滤操作。dir=sc.textFile('/datasets/DelayedFlights.csv').filter(lambdax:int(x.split(',')[24])==1).map(lambday:y.split(','))Theoutputofaboveoperationis[u'1763',u'2008',u'1',u'3',u'4',u'922.0',u'915',u'',u'1050',u'WN',u'1069',u'N630WN',u'',u'95.0',u'',u'',u'7.0',u'SAN',u'SMF',u'

json - pyspark 将新的嵌套数组添加到现有的 json 文件中

我是Spark的新手,有一个大问题,我无法处理,即使经过数小时的搜索......我有一个看起来像这样的jsonFile:root|--dialogueData:struct(nullable=true)||--dialogueID:string(nullable=true)||--dialogueLength:double(nullable=true)||--speakerChanges:long(nullable=true)|--snippetlist:array(nullable=true)||--element:struct(containsNull=true)|||--conf

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