导出数据处理建议
数据格式
导出数据皆为csv格式:
分隔符: ,
包围符:"
转义符:\
处理建议
建议下载数据后,将下载的压缩文件放于hdfs的以日期建立目录结构,同一小时或者同一天的数据放在同一目录下,然后通过spark streaming的fileStream接口监控根目录,读取变动的文件内容。
streamingContext.fileStream[KeyClass, ValueClass, InputFormatClass](dataDirectory)
在依赖中添加:
groupId: com.databricksartifactId: spark-csv_2.10version: 1.4.0
具体数据操作参考spark-csv(https://github.com/databricks/spark-csv)
导入到数据仓库示例
使用Hive新建外部表,如下图所示。
使用hadoop fs -put /xx.csv /tmp/test_export/ 将csv放到外部表目录下。
CREATE EXTERNAL TABLE TEST_EXPORT
(
sessionId STRING,
time BIGINT,
sendTime BIGINT,
pageTime BIGINT,
domain STRING,
page STRING,
queryParameters STRING,
eventName STRING,
eventNumber DOUBLE,
eventVariable map<string, string>,
loginUserId STRING
)
ROW FORMAT SERDE EATE EXTE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
STORED AS TEXTFILE
location '/tmp/test_export'
tblproperties ("skip.header.line.count"="1", "quote.delim"="\"", "escape.delim"="\\")
md5进行文件完整性校验
用户如果对文件完整性有担心,可以对原始数据导出 API第三步下载时response的headers中x-amz-meta-md5-hash的value值(文件的md5)进行校验。若校验未通过,可重启第三步,轮询获取。
eg: Headers信息如下

md5校验结果

Last updated
Was this helpful?