草庐IT

json - 在配置单元中加载 json 数据时出错

JSON数据看起来像:{"id":"U101","name":"Rakesh","place":{"city":"MUMBAI","state":"MAHARASHTRA"},"age":20,"occupation":"STUDENT"}{"id":"","name":"Rakesh","place":{"city":"MUMBAI","state":"MAHARASHTRA"},"age":20,"occupation":"STUDENT"}{"id":"U103","name":"Rakesh","place":{"city":"","state":""},"age":20,"o

python - Pyspark 在查找前一行时按组迭代数据帧

请帮助我,我是spark的新手。下面是我的数据框typecol1col2col3104101270011001183022null002null100301260320134003500下面应该是我的输出typecol1col2col3result1041001270014110013118302-1682null002null1003012600320112534001213500116挑战在于必须对每一组类型的列进行计算,公式类似于prev(col2)-col1+col3我尝试在col2上使用window和lag函数来填充结果列,但它没有用。下面是我的代码part=Window()

hadoop - 使用Hadoop Map reduce处理和拆分大数据?

我在文本文件中有大量数据(1,000,000行)。每行有128列。现在我正在尝试用这个大数据构建一个kd树。我想使用mapreduce进行计算。针对我的问题的蛮力方法:1)编写一个mapreduce作业来查找每一列的方差并选择方差最高的列2)将(列名,方差值)作为输入编写另一个mapreduce作业将输入数据分成两部分。对于给定的列名,第1部分包含所有值小于输入值的行,第二部分包含大于输入值的所有行。3)对于每个部分重复步骤1和步骤2,继续该过程,直到每个部分剩下500个值。列名称、方差值构成我的树的单个节点。因此,对于高度为10的树,我需要使用蛮力方法运行1024个mapreduce

hadoop - 外部表到 Hive 中的文件?

是否可以将LOCATION中的文件用于HIVE中的外部表?CREATEEXTERNALTABLEtable1(linestring)LOCATION'/hdp_in/fd/file.txt.gz';因为我得到一个错误:FAILED:ExecutionError,returncode1fromorg.apache.hadoop.hive.ql.exec.DDLTask.MetaException(message:Gotexception:org.apache.hadoop.fs.FileAlreadyExistsExceptionParentpathisnotadirectory:/hd

Hadoop - 在没有定界符的情况下定义和处理数据,某些列之间没有空格/空格

我是hadoop的新手,正在尝试在配置单元中导入文件。我使用的源数据在某些列之间没有分隔符。例子:0000856214AB25256TPL1423AS......2563458547CD12748SAK2523YU...andsoon...我已经从大型机以txt格式导入了这个文件。我有固定字符数的字段第一列(1-10),第二列(11-12),第三列(13-14))我想要的结果是读取这个原始数据如下:1stcolumn-00008562142ndcolumn-AB3rdcolumn-254thcolumn-2565thcolumn-T6thcolumn-PL7thcolumn-1423A

hadoop - 如何处理 Hive 中的分隔符

当值中有\t且分隔符也是\t时,我们如何处理Hive中的数据。例如,假设有一列为Street,数据类型为String,值为XXX\tYYY,在创建表时我们使用了字段分隔符为\t。分隔符将如何工作?在这种情况下,值中的\t是否也会被分隔? 最佳答案 如果具有\t值的列被引号字符括起来,例如"您可以使用csv-serde来解析数据,如下所示:这是我加载的示例数据集:R1Col1R1Col2"R1Col3MoreData"R1Col4R2Col2R2Col2"R2Col3MoreData"R2Col4从hive控制台注册jarhive>a

hadoop - 使用默认 SerDE 加载 Hive 表数据

数据格式如下a,"b,c",d,ep,q,"e,r",ta,s,"t,g",t我想创建一个Hive表第1列、第2列、第3列、第4列a,b,c,d,ep,q,e,r,ta,s,t,g,t如上所见,如果数据是用双引号括起来的,那么在创建表数据时就不需要考虑中间的逗号了。如果我使用默认的SerDe,双引号将被忽略,b、c被视为两个单独的列。如果封装在双引号中,如何确保双引号忽略两个元素之间的逗号 最佳答案 如果可能且可行,我首先建议您探索输入数据是否可以通过使用除逗号以外的其他方式作为字段分隔符来清理输入数据。使用数据中可能自然出现的定界

apache - 创建分区 View 时 Hive 出错

我有一个“日志”表,该表当前按年、月和日进行分区。我想在“日志”表的顶部创建一个分区View,但遇到了这个错误:hive>CREATEVIEWlog_viewPARTITIONEDON(pagename,year,month,day)ASSELECTpagename,year,month,day,uid,propertiesFROMlog;FAILED:SemanticException[Error10093]:RightmostcolumnsinviewoutputdonotmatchPARTITIONEDONclause创建分区View的正确方法是什么?

hadoop - Hive 在多列上对 null 的奇怪处理?

这个查询:SELECTcount(distinctfield1,field2,field3,field4)FROMSOME_TABLE返回与此查询不同(更小)的计数:SELECTcount(distinctcoalesce(field1,"null"),coalesce(field2,"null"),coalesce(field3,"null"),coalesce(field4,"null"))FROMSOME_TABLE我希望结果是相同的。对此有解释吗? 最佳答案 您看到不同结果的原因有两点:COUNT(DISTINCT(...)

hadoop - 无法减去涉及 Hive 查询中别名的两列

我正在尝试执行以下查询,其中我使用窗口来获取下一个日志时间戳,然后在它和当前时间戳之间进行减法。SELECTLEAD(timestamp)OVER(PARTITIONBYidORDERBYtimestamp)ASlead_timestamp,timestamp,(lead_timestamp-timestamp)asdeltaFROMlogs;但是,当我这样做时,出现以下错误:失败:SemanticException[错误10004]:第4:1行无效的表别名或列引用“lead_timestamp”:(可能的列名称为:logs.timestamp、logs.latitude、logs.l