GVKun编程网logo

如何在HBase上将自定义比较器与SingleColumnValueFilter一起使用?(hbase对比)

14

针对如何在HBase上将自定义比较器与SingleColumnValueFilter一起使用?和hbase对比这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展DelphiFireDAC出现V

针对如何在HBase上将自定义比较器与SingleColumnValueFilter一起使用?hbase对比这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展Delphi FireDAC 出现Variable length column[*] overflow. Value length - [80], column maximum length、extjs4 grid column filter 对于多层表头,不能给当前有 filter 的 column 增加 css 的解决办法、Flink SQL validation failed. From line 1, column 89 to line 1, column 111: List of column aliases、Flutter Web - 如何在 SingleChildScrollView -> Column 中使用 TabBarView?等相关知识,希望可以帮助到你。

本文目录一览:

如何在HBase上将自定义比较器与SingleColumnValueFilter一起使用?(hbase对比)

如何在HBase上将自定义比较器与SingleColumnValueFilter一起使用?(hbase对比)

我正在尝试使用两个SingleColumnValueFilter对象从HBase表中过滤行,以带回属于该列的长值范围内的所有记录。根据SingleColumnValueFilter的文档,除非您将其传递给自己的比较器,否则它将对列值进行字典比较。该API显示了SingleColumnValueFilter,其中采用WritableByteArrayComparable作为实现此目的的方法。

我编写了一个类,扩展了WritableByteArrayComparable并覆盖了compare方法。

    public class LongWritableComparable extends WritableByteArrayComparable {    public LongWritableComparable() {        super();    }    public LongWritableComparable(byte[] value) {        super(value);    }    public LongWritableComparable(Long value) {        super(Bytes.toBytes(value));    }    @Override    public int compareTo(byte[] otherValue) {        byte[] thisValue = this.getValue();        long thisLong = Bytes.toLong(thisValue);        long otherLong = Bytes.toLong(otherValue);        if (thisLong == otherLong) {            return 0;        }        if (thisLong < otherLong) {            return -1;        }        return 1;    }}

我正在使用以下方法设置过滤器:

SingleColumnValueFilter lowerBoundAddressResourceFilter = new SingleColumnValueFilter(                    graphTable.getResource().getName(),                    Bytes.toBytes(HBaseProperties.getInstance().getQualifierIpAdressLongRepresentation()),                    CompareFilter.CompareOp.GREATER_OR_EQUAL,                    new LongWritableComparable(lowerRangeValue));

但看到以下异常:

2010-08-25 14:24:10,034 ERROR org.apache.hadoop.hbase.regionserver.HRegionServer:org.apache.hadoop.hbase.UnknownScannerException: Name: -1        at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1880)        at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)        at java.lang.reflect.Method.invoke(Method.java:597)        at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:657)        at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)2010-08-25 14:24:10,052 INFO org.apache.hadoop.ipc.HBaseServer: IPC Server handler 0 on 60020, call next(-1, 1000) from 172.16.32.215:53206: error: org.apache.hadoop.hbase.UnknownScannerException: Name: -1org.apache.hadoop.hbase.UnknownScannerException: Name: -1        at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1880)        at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)        at java.lang.reflect.Method.invoke(Method.java:597)        at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:657)        at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)

在Web上查看导致此执行的原因的共识是,访问resultScanner.next()的代码花费的时间太长,导致对regionServer的租约超时,但是此异常在

ResultScanner resultScanner = table.getScanner(scan);

返回带有可迭代通过的ResultScanner。

有谁知道或知道将自定义比较器与SingleColumnValueFilter一起使用的示例,或者是否对我做错了有任何了解?

答案1

小编典典

似乎具有您的自定义比较器的jar需要放置在您要查询的表所在的区域服务器上,该服务器位于$ HBASE_HOME /
lib文件夹中。放置jar之后,重新启动集群,查询应该可以工作。

Delphi FireDAC 出现Variable length column[*] overflow. Value length - [80], column maximum length

Delphi FireDAC 出现Variable length column[*] overflow. Value length - [80], column maximum length

总结

以上是小编为你收集整理的Delphi FireDAC 出现Variable length column[*] overflow. Value length - [80], column maximum length全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

extjs4 grid column filter 对于多层表头,不能给当前有 filter 的 column 增加 css 的解决办法

extjs4 grid column filter 对于多层表头,不能给当前有 filter 的 column 增加 css 的解决办法

/**
	 * Update the styles for the header row based on the active filters
	 */
	updateColumnHeadings : function() {
		var me = this, headerCt = me.view.headerCt;
		if (headerCt) {
			headerCt.items.each(function(header) {
				var filter = me.getFilter(header.dataIndex);
				header[filter && filter.active ? ''addCls'' : ''removeCls''](me.filterCls);
				if (header.items && header.items[''each''] ) {
					header.items.each(function(header) {
						var filter = me.getFilter(header.dataIndex);
						header[filter && filter.active ? ''addCls'' : ''removeCls''](me.filterCls);
					})
				}
			});
		}
	},


extjs4.2 grid 中的 字段增加 filter ,会给当前有选中的列,加一个 css , 表示该字段有筛选值,但是对于多层表头,这个就失败了,他没有考虑到这个情况,

修改一下,Ext.ux.grid.FiltersFeature.js 这个文件,将函数改一下,判断是否有多层表头,然后进行增加 css , 这个只做了二层表头的,三层以上的不予考虑


Flink SQL validation failed. From line 1, column 89 to line 1, column 111: List of column aliases

SQL validation failed. From line 1, column 89 to line 1, column 111: List of column aliases must have same degree as table; table has 1 columns ('f0'), whereas alias list has 3 columns
at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:125)

解决方法:

//正确
  • public static class SplitTF4 extends TableFunction<Row> {
  • public void eval(String s) {
  • Row row = Row.of(s.split("_")[0], s.split("_")[1], s.split("_")[1].length());
  • collect(row);
  • }
  • //这个方法很重要,不写的话会报错!!!!
  • //SQL validation failed. From line 1, column 89 to line 1, column 111: List of column aliases must have same degree as table; table has 1 columns ('f0'), whereas alias list has 3 columns
  • //at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:125)
  • Flutter Web - 如何在 SingleChildScrollView -> Column 中使用 TabBarView?

    Flutter Web - 如何在 SingleChildScrollView -> Column 中使用 TabBarView?

    如何解决Flutter Web - 如何在 SingleChildScrollView -> Column 中使用 TabBarView??

    我有一个带有 Column 的 SingleChildScrollView 作为孩子,有很多孩子,其中两个是 TabBar 和 TabBarView。 TabBar 呈现正常,但是当我添加 TabBarView 时出现错误:

    ======== Exception caught by rendering library =====================================================
    The following assertion was thrown during performResize():
    Horizontal viewport was given unbounded height.
    
    Viewports expand in the cross axis to fill their container and constrain their children to match their extent in the cross axis. In this case,a horizontal viewport was given an unlimited amount of vertical space in which to expand.
    The relevant error-causing widget was: 
      TabBarView file:///C:/Users/user/Documents/FlutterProjects/singlechildscrollview/lib/main.dart:83:13
    When the exception was thrown,this was the stack: 
    #0      RenderViewport.computeDryLayout.<anonymous closure> (package:Flutter/src/rendering/viewport.dart:1418:15)
    #1      RenderViewport.computeDryLayout (package:Flutter/src/rendering/viewport.dart:1430:6)
    #2      RenderBox.performResize (package:Flutter/src/rendering/Box.dart:2332:12)
    #3      RenderObject.layout (package:Flutter/src/rendering/object.dart:1758:9)
    #4      RenderProxyBoxMixin.performlayout (package:Flutter/src/rendering/proxy_Box.dart:116:14)
    ...
    The following RenderObject was being processed when the exception was fired: RenderViewport#4db57 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...  needs compositing
    ...  parentData: <none> (can use size)
    ...  constraints: BoxConstraints(0.0<=w<=568.0,0.0<=h<=Infinity)
    ...  size: MISSING
    ...  axisDirection: right
    ...  crossAxisDirection: down
    ...  offset: _PagePosition#05511(range: null..null,viewport: null,ScrollableState,_ForceImplicitScrollPhysics -> PageScrollPhysics -> PageScrollPhysics -> ClampingScrollPhysics -> ClampingScrollPhysics -> RangeMaintainingScrollPhysics,IdleScrollActivity#083c3,ScrollDirection.idle)
    ...  anchor: 0.0
    RenderObject: RenderViewport#4db57 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
      needs compositing
      parentData: <none> (can use size)
      constraints: BoxConstraints(0.0<=w<=568.0,0.0<=h<=Infinity)
      size: MISSING
      axisDirection: right
      crossAxisDirection: down
      offset: _PagePosition#05511(range: null..null,ScrollDirection.idle)
      anchor: 0.0
    ...  center child: _RenderSliverFractionalPadding#c51bd NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...    parentData: paintOffset=Offset(0.0,0.0)
    ...    constraints: MISSING
    ...    geometry: null
    ...    child: RenderSliverFillViewport#29be2 NEEDS-LAYOUT NEEDS-PAINT
    ...      parentData: paintOffset=Offset(0.0,0.0)
    ...      constraints: MISSING
    ...      geometry: null
    ...      no children current live
    ====================================================================================================
    
    ======== Exception caught by rendering library =====================================================
    The following assertion was thrown during performlayout():
    RenderBox was not laid out: RenderViewport#4db57 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ''package:Flutter/src/rendering/Box.dart'':
    Failed assertion: line 1930 pos 12: ''hasSize''
    

    我知道这个错误与 TabBarView 没有高度有关,我无法设置特定高度,因为每个选项卡的内容都是动态的或使用任何其他 ScrollView,我已经尝试将它包装成一个 Flexible使用 fit: FlexFit.loose 并设置为所有 Column 的 mainAxisSize: MainAxisSize.min 但它仍然不起作用。

    class MyHomePage extends StatefulWidget {
    
      @override
      _MyHomePageState createState() => _MyHomePageState();
    }
    
    class _MyHomePageState extends State<MyHomePage> with TickerProviderStateMixin{
    
      late TabController tabController;
    
      @override
      void initState() {
    
        super.initState();
        tabController = TabController(length: 2,vsync: this);
      }
    
      @override
      Widget build(BuildContext context) {
    
        return Scaffold(
          body: SingleChildScrollView(
            child: Column(
              children: [
                
                /// Other widgets here...then
    
                TabBar(
                  controller: tabController,tabs: [
    
                    Tab(
                      child: Text(
                          "Tab 1",style: TextStyle(
                            color: Colors.black
                          ),),Tab(
                      child: Text(
                        "Tab 1",style: TextStyle(
                            color: Colors.black
                        ),],TabBarView(
                  controller: tabController,children: [
    
                    /// Each content from each tab will have a dynamic height
                    Container(),Container()
    
                  ],)
    
    
              ],);
      }
    }
    

    解决方法

    您可以使用此示例应用作为示例。简而言之,我将 TabBarTabBarView 嵌套在 NestedScrollView 中,该 TabBarView 占据了整个屏幕的大小。这样您就可以在 import ''package:flutter/material.dart''; void main() { runApp(MaterialApp(home: MyHomePage())); } class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> with TickerProviderStateMixin { late TabController tabController; @override void initState() { super.initState(); tabController = TabController(length: 2,vsync: this); } @override void dispose() { tabController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(),body: NestedScrollView( headerSliverBuilder: (context,value) { return [ SliverToBoxAdapter( child: TabBar( controller: tabController,labelColor: Colors.redAccent,isScrollable: true,tabs: [ Tab( child: Text( "Tab 1",style: TextStyle(color: Colors.black),),Tab( child: Text( "Tab 1",],]; },body: Container( child: TabBarView( controller: tabController,children: [ /// Each content from each tab will have a dynamic height Container(),Container() ],); } }

    import plotly.express as px
    df = px.data.stocks()
    fig = px.box(df,x="date",y=df.columns,hover_data={"date": "|%B %d,%Y"},title=''custom tick labels with ticklabelmode="period"'')
    fig.update_xaxes(
        dtick="M1",tickformat="%b\n%Y",ticklabelmode="period")
    fig.show()
    

    我们今天的关于如何在HBase上将自定义比较器与SingleColumnValueFilter一起使用?hbase对比的分享已经告一段落,感谢您的关注,如果您想了解更多关于Delphi FireDAC 出现Variable length column[*] overflow. Value length - [80], column maximum length、extjs4 grid column filter 对于多层表头,不能给当前有 filter 的 column 增加 css 的解决办法、Flink SQL validation failed. From line 1, column 89 to line 1, column 111: List of column aliases、Flutter Web - 如何在 SingleChildScrollView -> Column 中使用 TabBarView?的相关信息,请在本站查询。

    本文标签: