草庐IT

csv_data

全部标签

csv - Impala 不支持自定义 SerDe,在带双引号的 CSV 中查询文件的最佳方式是什么?

我有一个CSV数据,每个字段都用双引号引起来。当我创建Hive表使用serde'com.bizo.hive.serde.csv.CSVSerde'当在Impala中查询上表时,出现错误SerDenotfound。我在/usr/lib/impala/lib文件夹中添加了CSVSerdeJAR文件。后来在Impala文档中研究到Impala不支持自定义塞尔德。在这种情况下,我该如何克服这个问题,使我的CSV数据引号被照顾。我想使用CSVSerde因为它需要值中的逗号是合法的字段值。非常感谢 最佳答案 可以使用Hive吗?如果是这样,这里

hadoop - 在 Hive 中, "Load data local inpath"是覆盖现有数据还是追加?

我希望在cron上运行到Hive的导入,并且希望只使用“将数据本地输入路径‘/tmp/data/x’加载到表X”到表中就足够了。后续命令会覆盖表中已有的内容吗?还是会追加? 最佳答案 本站http://wiki.apache.org/hadoop/Hive/LanguageManual在处理Hive时是你的friend。:)解决将数据加载到Hive的页面是http://wiki.apache.org/hadoop/Hive/LanguageManual/DML该页面指出iftheOVERWRITEkeywordisusedthent

java - 如何使用 Cloudera CDH4 和 Maven 获取正在运行的 Spring-Data-Hadoop 项目

由于Spring-Data-Hadoop尚未发布,因此很难找到与cloudera一起使用的运行示例配置。我需要选择哪些依赖项才能与CDH4(Hadoop2.0.0-cdh4.1.3)一起运行Spring-Data-Hadoop?通过选择不同的应用程序,我得到了这个异常(exception):空指针Exceptioninthread"SimpleAsyncTaskExecutor-1"java.lang.ExceptionInInitializerErroratorg.springframework.data.hadoop.mapreduce.JobExecutor$2.run(JobE

csv - hadoop如何读取输入文件?

我有一个要使用hadoopmapreduce分析的csv文件。我想知道hadoop是否会逐行解析它?如果是,我想使用逗号分隔的字符串来获取要分析的字段。还是有其他更好的方法来解析csv并将其输入hadoop?该文件为10GB,以逗号分隔。我想将java与hadoop一起使用。下面map()方法中Tex类型的参数“value”包含了Map/Reduce解析的每一行?-这是我最困惑的地方。这是我的代码:publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{t

R+Hadoop : How to read CSV file from HDFS and execute mapreduce?

在下面的例子中:small.ints=to.dfs(1:1000)mapreduce(input=small.ints,map=function(k,v)cbind(v,v^2))mapreduce函数的数据输入是一个名为small.ints的对象,它引用了HDFS中的block。现在我有一个CSV文件已经存储在HDFS中"hdfs://172.16.1.58:8020/tmp/test_short.csv"如何为它获取一个对象?据我所知(这可能是错误的),如果我想将CSV文件中的数据作为mapreduce的输入,我必须首先在R中生成一个表,其中包含CSV文件中的所有值。我确实有这样的

scala - Apache Spark 抛出 java.lang.IllegalStateException : unread block data

我们正在做的是:根据网站上的文档安装Spark0.9.1,以及hadoop/hdfs的CDH4(和另一个带有CDH5的集群)发行版。使用sbt构建带有Spark应用程序的fatjar,然后尝试在集群上运行它我还在底部包含了代码片段和sbtdeps。当我用谷歌搜索这个时,似乎有两个有点含糊的回答:a)节点/用户代码上的spark版本不匹配b)需要向SparkConf添加更多的jar现在我知道(b)不是在其他集群上成功运行相同代码但只包含一个jar(它是一个胖jar)的问题。但我不知道如何检查(a)-似乎Spark没有任何版本检查或任何东西-如果它检查版本并抛出“不匹配的版本异常:你有用户

hadoop - Hbase 与 Cassandra : Which is better for a timeseries data storage?

我使用我的API日志提取如下信息:这段时间内我的API有多少用户?或者在这段时间里,什么类型的服务被调用最多?我提取的几乎所有信息都取决于时间戳。实际上,我使用MongoDB并将时间戳添加为索引(对于80GB,索引大小为12GB)。有人向我推荐迁移到cassandra或Hbase。我想知道哪个更适合我的用例:时间序列数据分析。需要良好的写入和读取性能。可以使用hadoop进行数据分析。感谢您分享您的观点或经验。 最佳答案 Cassandra的优势:Cassandra通常表现出更好的性能(尽管两者都非常出色)。从操作的角度来看,Cas

csv - 使用 CSV Serde 和 Hive 创建表将所有字段类型转换为字符串

如果我创建一个表并指定一个CSVSerde,那么所有字段都将转换为字符串类型。hive>创建表foo(aint,bdouble,cstring)行格式serde'com.bizo.hive.serde.csv.CSVSerde'存储为文本文件;好的耗时:0.22秒配置单元>描述foo;好的来自反序列化器的字符串b来自反序列化器的字符串来自反序列化器的c字符串耗时:0.063秒,获取:3行Serde来自https://github.com/ogrodnek/csv-serde如果我从这个页面尝试serde'org.apache.hadoop.hive.serde2.OpenCSVSerd

hadoop - java.lang.OutOfMemoryError : unable to create new native thread for big data set 错误

我运行的hive查询对于小型数据集运行良好。但我正在运行2.5亿条记录,我在日志中遇到的错误低于此FATALorg.apache.hadoop.mapred.Child:Errorrunningchild:java.lang.OutOfMemoryError:unabletocreatenewnativethreadatjava.lang.Thread.start0(NativeMethod)atjava.lang.Thread.start(Thread.java:640)atorg.apache.hadoop.mapred.Task$TaskReporter.startCommuni

hadoop - "code moving to data"而不是数据转码的原理是什么?

在最近关于分布式处理和流的讨论中,我遇到了“代码移动到数据”的概念。有人可以帮忙解释一下吗?此短语的引用是MapReduceWay.在Hadoop方面,it'sstatedinaquestion但仍然无法以技术不可知的方式找出对原理的解释。 最佳答案 基本思想很简单:如果代码和数据在不同的机器上,则必须先将其中一个移动到另一台机器上,然后才能在数据上执行代码。如果代码小于数据,最好将代码发送到保存数据的机器,而不是相反,如果所有机器都同样快且代码兼容。[可以说您可以根据需要发送源代码和JIT编译]。在大数据的世界里,代码几乎总是比数