我有一个如下所示的守护程序: ingest_excel.py:
from __future__ import print_function
import time
from builtins import range
from datetime import timedelta
from pprint import pprint
import airflow
from airflow.models import DAG
#from airflow.operators.bash_operator import BashOperator
from airflow.operators.pytho
我想在spark中读取CSV,并将它转换为DataFrame,然后用df.registerTempTable("table_name")存储在HDFS中。
我试过:
scala> val df = sqlContext.load("hdfs:///csv/file/dir/file.csv")
我发现的错误:
java.lang.RuntimeException: hdfs:///csv/file/dir/file.csv is not a Parquet file. expected magic number at tail [80, 65, 82, 4
我在hdfs中存储了一个CSV文件,格式如下:
Business Line,Requisition (Job Title),Year,Month,Actual (# of Days)
Communications,1012_Com_Specialist,2017,February,150
Information Technology,5781_Programmer_Associate,2017,March,80
Information Technology,2497_Programmer_Senior,2017,March,120
Services,6871_Business_Analyst_
我想把二进制格式的拼花文件转换成csv文件。我正在使用以下命令的火花。
sqlContext.setConf("spark.sql.parquet.binaryAsString","true")
val source = sqlContext.read.parquet("path to parquet file")
source.coalesce(1).write.format("com.databricks.spark.csv").option("header","true").save(&
我正在尝试从hdfs位置读取拼图文件,做一些转换并覆盖相同位置的文件。我必须在相同的位置覆盖文件,因为我必须多次运行相同的代码。
下面是我写的代码
val df = spark.read.option("header", "true").option("inferSchema", "true").parquet("hdfs://master:8020/persist/local/")
//after applying some transformations lets say the final dataframe
我下载并构建了的1.5.0。
现在,我想在hdfs中对我的parquet文件运行一些命令。我试过这个:
cd ~/parquet-mr/parquet-tools/src/main/scripts
./parquet-tools meta hdfs://localhost/my_parquet_file.parquet
我得到了:
错误:找不到或加载主类parquet.tools.Main
我正在尝试读取scala中路径的Sequence中的文件。以下是示例(伪)代码:
val paths = Seq[String] //Seq of paths
val dataframe = spark.read.parquet(paths: _*)
现在,在上面的序列中,一些路径存在,而一些路径不存在。有没有办法在读取parquet文件时忽略缺失的路径(以避免org.apache.spark.sql.AnalysisException: Path does not exist)?
我尝试了下面的方法,它似乎起作用了,但是,我最终读了两次相同的路径,这是我想避免做的事情:
val filter