我在Hive中寻找内置的String拆分功能?例如,如果是
A | B | C | d |电子
那么我想要一个像数组拆分的功能(字符串输入,字符分隔符)
所以我回来了[A,B,C,D,E].
Hive中是否存在这样的内置拆分功能.我只能看到regexp_extract和regexp_replace.我很想看到indexOf()和split()字符串函数.
谢谢
阿贾伊
我一直是R的长期用户,最近开始使用Python.使用传统的RDBMS系统进行数据仓库,使用R/Python进行数字运算,我觉得现在需要掌握大数据分析.
我想知道如何开始大数据处理. - 如何从Map/Reduce和Hadoop的使用开始简单
总而言之,我想知道如何从小规模开始,逐步建立我在大数据分析中的技能和专业知识.
感谢您的建议和意见.我为此查询的通用性质道歉,但我希望获得有关此主题的更多观点.
我是hadoop的新手,我对map-reduce编程的风格越来越熟悉,但现在我遇到了一个问题:有时候我只需要映射一个工作而我只需要将地图结果直接作为输出,这意味着减少这里不需要阶段,我该如何实现?
这是下面的Hive表
CREATE EXTERNAL TABLE IF NOT EXISTS SampleTable
(
USER_ID BIGINT,
NEW_ITEM ARRAY<STRUCT<PRODUCT_ID: BIGINT,TIMESTAMPS:STRING>>
)
Run Code Online (Sandbox Code Playgroud)
这是上表中的数据 -
1015826235 [{"product_id":220003038067,"timestamps":"1340321132000"},{"product_id":300003861266,"timestamps":"1340271857000"}]
Run Code Online (Sandbox Code Playgroud)
有什么办法可以在爆炸阵列后从HiveQL获得以下输出吗?
**USER_ID** | **PRODUCT_ID** | **TIMESTAMPS**
------------+------------------+----------------
1015826235 220003038067 1340321132000
1015826235 300003861266 1340271857000
Run Code Online (Sandbox Code Playgroud)
更新
我写了这个查询以获得上述格式的输出,但它并没有按照我想要的方式给出结果.
SELECT myTable1.myCol1,myTable2.myCol2 FROM sampletable st LATERAL VIEW
explode(st.purchased_item.product_id) myTable1 AS myCol1 LATERAL VIEW
explode(st.purchased_item.timestamps) myTable2 AS myCol2;
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决我的错误吗?任何建议将不胜感激.
我是hadoop分布式文件系统的新手,我已经在我的机器上完成了hadoop单节点的安装.但是之后当我要将数据上传到hdfs时,它会给出一条错误消息Permission Denied.
来自终端的消息带命令:
hduser@ubuntu:/usr/local/hadoop$ hadoop fs -put /usr/local/input-data/ /input
put: /usr/local/input-data (Permission denied)
hduser@ubuntu:/usr/local/hadoop$
Run Code Online (Sandbox Code Playgroud)
使用sudo并在sudouser中添加hduser后:
hduser@ubuntu:/usr/local/hadoop$ sudo bin/hadoop fs -put /usr/local/input-data/ /inwe
put: org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="":hduser:supergroup:rwxr-xr-x
hduser@ubuntu:/usr/local/hadoop$
Run Code Online (Sandbox Code Playgroud) 你知道任何大型数据集来试验免费/低成本的Hadoop吗?任何相关的指针/链接都表示赞赏.
Prefernce:
至少一GB的数据.
Web服务器的生产日志数据.
到目前为止我发现的很少:
我们也可以运行自己的爬虫来收集来自维基百科等网站的数据吗?关于如何做到这一点的任何指针也受到赞赏.
为什么使用HBase比使用一个更好的选择Cassandra用Hadoop?
任何人都可以对此进行详细解释吗?
谢谢
当我设置hadoop集群时,我读取了在50070上运行的namenode并且我进行了相应的设置并且运行正常.
但在一些书中,我遇到了名称节点地址:
hdfs://localhost:9000/
Run Code Online (Sandbox Code Playgroud)
要么
hdfs://localhost:8020
Run Code Online (Sandbox Code Playgroud)
设置namenode端口的正确数字究竟是什么?
定义说:
RDD是不可变的分布式对象集合
我不太明白这是什么意思.是否像存储在硬盘上的数据(分区对象)那么如何RDD可以拥有用户定义的类(如java,scala或python)
从这个链接:https://www.safaribooksonline.com/library/view/learning-spark/9781449359034/ch03.html它提到:
用户以两种方式创建RDD:通过加载外部数据集,或通过在其驱动程序中分发对象集合(例如,列表或集合)
我很难理解RDD的一般情况以及与spark和hadoop的关系.
请有人帮忙.
我是新来的.现在我可以在纱线上运行spark 0.9.1(2.0.0-cdh4.2.1).但执行后没有日志.
以下命令用于运行spark示例.但是,在正常的MapReduce作业中,在历史记录服务器中找不到日志.
SPARK_JAR=./assembly/target/scala-2.10/spark-assembly-0.9.1-hadoop2.0.0-cdh4.2.1.jar \
./bin/spark-class org.apache.spark.deploy.yarn.Client --jar ./spark-example-1.0.0.jar \
--class SimpleApp --args yarn-standalone --num-workers 3 --master-memory 1g \
--worker-memory 1g --worker-cores 1
Run Code Online (Sandbox Code Playgroud)
我在哪里可以找到logs/stderr/stdout?
有什么地方可以设置配置吗?我确实找到了控制台的输出说:
14/04/14 18:51:52 INFO客户端:ApplicationMaster的命令:$ JAVA_HOME/bin/java -server -Xmx640m -Djava.io.tmpdir = $ PWD/tmp org.apache.spark.deploy.yarn.ApplicationMaster --class SimpleApp --jar ./spark-example-1.0.0.jar --args'yarn-standalone' - worker-memory 1024 --worker-cores 1 --num-workers 3 1> <LOG_DIR>/stdout 2> <LOG_DIR>/stderr
在这一行,请注意 1> $LOG_DIR/stdout 2> $LOG_DIR/stderr
LOG_DIR可以在哪里设置?